Android显示一周的日期

时间:2013-04-13 12:12:49

标签: android android-calendar android-date

我想显示一周的日期和那周的日期。 就像今天一样,我希望为我的日历显示如下:

Mon  Tues  Wed  Thurs  Fri  Sat   Sun
8    9     10    11    12   13    14 

然后,当它开始另一周时,数字会发生变化.. 所以,我尝试了android日历类。所以我出来了:

TextView[] tx = {t1, t2, t3, t4, t5, t6, t7};

    SimpleDateFormat curFormater = new SimpleDateFormat("EEE dd"); 
    GregorianCalendar date = new GregorianCalendar();
    String[] dateStringArray = new String[7];

    for (int day = 0; day < 7; day++) {
        dateStringArray[day] = curFormater.format(date.getTime());
        date.roll(Calendar.DAY_OF_MONTH, true);
        System.out.println("HELLO WORLD DAYS: " + dateStringArray[day]);
        tx[day].setText(dateStringArray[day]);
    }

只是为了检查我是否能达到目标。嗯,它接近我想要的。 问题是,例如今天是星期六,输出是这样的:

Sat   Sun   Mon   Tue   Wed   Thur   Fri
13    14    15    16    17    18     19

然后,明天......我猜这会变成

Sun   Mon   Tue   Wed   Thur   Fri  Sat
14    15    16    17    18     19   20

所以,开始的日子会发生变化。 有没有一种方法可以帮助我实现目标。也许我错过了 在阅读文件时出去。请 谢谢。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

试试这个

   SimpleDateFormat curFormater = new SimpleDateFormat("EEE dd"); 
        GregorianCalendar date = new GregorianCalendar();
        String[] dateStringArray = new String[7];
             date.set(GregorianCalendar.DATE, date.get(GregorianCalendar.DATE)-date.get(GregorianCalendar.DAY_OF_WEEK));
        for (int day = 0; day < 7; day++) {
            dateStringArray[day] = curFormater.format(date.getTime());
            date.setFirstDayOfWeek(day);
            date.roll(Calendar.DAY_OF_MONTH, true);
            System.out.println("HELLO WORLD DAYS: " + dateStringArray[day]);
        }
}