我想显示一周的日期和那周的日期。 就像今天一样,我希望为我的日历显示如下:
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
所以,开始的日子会发生变化。 有没有一种方法可以帮助我实现目标。也许我错过了 在阅读文件时出去。请 谢谢。任何帮助将不胜感激。
答案 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]);
}
}