在Android中生成两个日期之间的日期

Har*_*shi 8 datetime android date android-date

如何获取Android中两个日期之间的所有日期.

例如.我有两个字符串.

String first="2012-07-15";  
String second="2012-07-21"; 
Run Code Online (Sandbox Code Playgroud)

我转换并从这些字符串中获取日期.

DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd");                                    
DateFormat df2 = new SimpleDateFormat("MMM dd");
String mydate = df2.format(df1.parse(first));
Run Code Online (Sandbox Code Playgroud)

这样我从第一个和第二个String获得两个日期.

现在我还显示这两个日期之间的所有日期.

sun*_*nil 34

最好不要在日期计算中使用任何硬编码值.我们可以依靠java Calendar类方法来完成这个任务

看到代码

private static List<Date> getDates(String dateString1, String dateString2)
{
    ArrayList<Date> dates = new ArrayList<Date>();
    DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd");

    Date date1 = null;
    Date date2 = null;

    try {
        date1 = df1 .parse(dateString1);
        date2 = df1 .parse(dateString2);
    } catch (ParseException e) {
        e.printStackTrace();
    }

    Calendar cal1 = Calendar.getInstance();
    cal1.setTime(date1);


    Calendar cal2 = Calendar.getInstance();
    cal2.setTime(date2);

    while(!cal1.after(cal2))
    {
        dates.add(cal1.getTime());
        cal1.add(Calendar.DATE, 1);
    }
    return dates;
}
Run Code Online (Sandbox Code Playgroud)

并使用如下

    List<Date> dates = getDates("2012-02-01", "2012-03-01");
    for(Date date:dates)
        System.out.println(date);
Run Code Online (Sandbox Code Playgroud)