我有一个方法应该将当前周的所有日期都放在数组中。 这是它的样子:
private void initWeek()
{
Calendar calendar = Calendar.getInstance();
week_dates = new String[7];
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy", Locale.US);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
for (int i = 0; i < 7; i++)
{
week_dates[i] = dateFormat.format(calendar.getTime());
calendar.set(Calendar.DAY_OF_WEEK, i);
}
}
但是当当天是星期天时,它会在下周提供日期,而不是在星期日之前的日期。
答案 0 :(得分:1)
这是我提出的: 编辑:尝试添加Calendar.DATE
private void initWeek()
{
Calendar calendar = Calendar.getInstance();
week_dates = new String[7];
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy", Locale.US);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
for (int i = 0; i < 7; i++)
{
week_dates[i] = dateFormat.format(calendar.getTime());
calendar.add(Calendar.DATE, 1);
}
}
答案 1 :(得分:1)
for (int i = 0; i < 7; i++)
{
week_dates[i] = dateFormat.format(calendar.getTime());
//calendar.set(Calendar.DAY_OF_WEEK, i);
calendar.add(Calendar.DATE, 1);
}
使用Calendar.DATE
,从您在元素0中指定的星期一起增加1天。
我已经评论了您的原始代码并替换了该行。原始行保持更改初始选定的当前日期。