【发布时间】:2014-11-13 10:12:13
【问题描述】:
我正在使用 GregorianCalendar
新的公历(1900, Calendar.JANUARY, 1)
并返回从星期二开始的日期。
有什么方法可以配置它,以便将“星期日”作为一周的第一天返回。
我想返回一个日历对象。
我使用了以下解决方案
switch (gregorianCalendar.get(Calendar.DAY_OF_WEEK)) {
case Calendar.MONDAY:
gregorianCalendar.add(Calendar.DAY_OF_WEEK, -1);
break;
case Calendar.TUESDAY:
gregorianCalendar.add(Calendar.DAY_OF_WEEK, -2);
break;
case Calendar.WEDNESDAY:
gregorianCalendar.add(Calendar.DAY_OF_WEEK, -3);
break;
case Calendar.THURSDAY:
gregorianCalendar.add(Calendar.DAY_OF_WEEK, -4);
break;
case Calendar.FRIDAY:
gregorianCalendar.add(Calendar.DAY_OF_WEEK, -5);
break;
case Calendar.SATURDAY:
gregorianCalendar.add(Calendar.DAY_OF_WEEK, -6);
break;
}
我不知道它是不是最好的。
【问题讨论】:
-
对不起,我不明白这个问题。对于
new GregorianCalendar(1900, Calendar.JANUARY, 1),我得到的是星期一Mon, 1 Jan 1900,而不是星期二。此外,calendar.get(Calendar.DAY_OF_WEEK))取决于日期。不是所有星期都一样。我不明白。你能详细说明一下吗? -
星期二是随机结果。在公历初始化之后,我设置了一个整数,我想将其转换为日期。而且我想知道如何配置日期以便在返回的那一天而不是另一天返回星期日。这对您来说更清楚吗?
-
一点也不。您在问题中提到的整数在哪里?你如何设置这个整数?编辑您的问题并发布相关代码。这个整数代表什么?是时间戳?随机值?如果您只想将日历中的日期设置为 SUNDAY:
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
标签: java date gregorian-calendar