所以,我找到了java.util.Calendar,并尝试将它用于我正在进行的Android项目。
我完全不明白Calendar.DAY_OF_WEEK如何在星期四返回7? 现在当它是八月Calendar.WEEK_OF_YEAR返回4,这根本没有任何意义!
我也尝试了GregorianCalendar,它给出了完全相同的结果。
试图找到关于它们如何计算的任何文档,但我找不到任何东西。 似乎有一些非常明显的东西,但我无法找到它是什么!
我写的代码在这里:
// Get if daily or weekly
boolean daily;
daily = getPrefs.getBoolean("checkbox_daily", false);
String day = "0";
if (daily){
switch(GregorianCalendar.DAY_OF_WEEK){
case GregorianCalendar.MONDAY:
Do_stuff();
break;
case GregorianCalendar.TUESDAY:
Do_stuff();
break;
case GregorianCalendar.WEDNESDAY:
Do_stuff();
break;
case GregorianCalendar.THURSDAY:
Do_stuff();
break;
case GregorianCalendar.FRIDAY:
Do_stuff();
break;
}
}
答案 0 :(得分:8)
GregorianCalendar.DAY_OF_WEEK
不变,
您需要calendarInstance.get(GregorianCalendar.DAY_OF_WEEK);
答案 1 :(得分:1)
来自java.util.Calendar docs:
日历使用两个来定义特定于语言环境的七天工作周 参数:一周的第一天和第一天的最小天数 一周(从1到7)。这些数字取自语言环境资源 构建日历时的数据。它们也可能被指定 明确地通过设置其值的方法。
设置或获取WEEK_OF_MONTH或WEEK_OF_YEAR字段时, 日历必须将月份或年份的第一周确定为 参照点。一个月或一年的第一周被定义为 最早的七天时间从getFirstDayOfWeek()开始 至少包含该月的getMinimalDaysInFirstWeek()天或 年。周数在第一周之前编号为......,-1,0;周数 2,3,......跟着它。请注意,返回的规范化编号 get()可能不同。例如,特定的Calendar子类可以 将前一周的第1周指定为前一周的第n周 年。