如何在android中获得接下来的七天?

Mur*_*ati 2 java android calendar date simpledateformat

在我的应用程序中,我需要从当天开始的七天.我尝试了以下解决方案,但它正在跳过几天.

Calendar calendar = new GregorianCalendar();
SimpleDateFormat sdf = new SimpleDateFormat("EEEE dd-MMM-yyyy");
for (int i = 0; i < 7; i++) {
    calendar.add(Calendar.DATE, i);
    String day = sdf.format(calendar.getTime());
    Log.i(TAG, day);
}
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

Sunday 18-Oct-2015
Monday 19-Oct-2015
Wednesday 21-Oct-2015
Saturday 24-Oct-2015
Wednesday 28-Oct-2015
Monday 02-Nov-2015
Sunday 08-Nov-2015
Run Code Online (Sandbox Code Playgroud)

我也试过Calendar.DAY_OF_WEEK,Calendar.DAY_OF_MONTH,Calendar.DAY_OF_YEAR而不是Calendar.DATE但得到相同的输出.

hd1*_*hd1 16

试试这个:

SimpleDateFormat sdf = new SimpleDateFormat("EEEE dd-MMM-yyyy");
for (int i = 0; i < 7; i++) {
    Calendar calendar = new GregorianCalendar();
    calendar.add(Calendar.DATE, i);
    String day = sdf.format(calendar.getTime());
    Log.i(TAG, day);
}
Run Code Online (Sandbox Code Playgroud)

您有一个日历实例,并且正在添加1,2,3,4,5,6和7天而不重置它.上述解决方案将对象创建移动到循环内.