获取当前一周日期的正确方法

Right way of getting dates for a current week

我有一个方法应该将当前周的所有日期放入数组中。 它是这样的:

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);

        }
    }

但是当今天是星期天时,它会给出下一周的日期,而不是星期天之前的那个。

这是我想出的: 编辑:尝试添加 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);

    }
}
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 天。

我已经评论了你的原始代码并替换了该行。原始行不断更改初始选择的当前日期。