我正在传递日期索引而不是预期日期

I am passing index for dates and not expected dates coming

在代码中,循环是让我下周 7 天并将它们添加到数组列表中。 当我尝试这个时,我得到了周一、周二、周四、周日、周四、周二。我不明白为什么会这样。不对。

我需要输出为 Mon、Tue、Web、Thus、Fri、Sat。

根据文档 here ,星期一的数值是 1,星期二是 2,依此类推。

   String dat,day;

    calendar = Calendar.getInstance();
    DateFormat sdf = new SimpleDateFormat("dd-MMM"); //Date and time

    DateFormat sdf_ = new SimpleDateFormat("EEE");
    Date date = new Date();


int i=0;

    while (i<7)
    {
         calendar.add(Calendar.DAY_OF_WEEK, i);
         dat = sdf.format(new Date(calendar.getTimeInMillis()));
         day = sdf_.format(new Date(calendar.getTimeInMillis()));

        mDate.add(dat);
        mDay.add(day);

         i++;

    }    
  
  

我认为你应该在 calendar.add(Calendar.DAY_OF_WEEK, 1) 中使用 1 而不是 i 因为您使用的是相同的日历实例。

int i=0;

    while (i<7)
    {
         calendar.add(Calendar.DAY_OF_WEEK, 1);
         dat = sdf.format(new Date(calendar.getTimeInMillis()));
         day = sdf_.format(new Date(calendar.getTimeInMillis()));

        mDate.add(dat);
        mDay.add(day);

         i++;

    }