【发布时间】:2010-12-20 14:08:54
【问题描述】:
根据给定的Locale 使用Joda-Time,您如何确定一周中的哪一天被视为“开始”?
要点:大多数国家/地区使用国际标准星期一作为一周的第一天 (!)。其他人使用星期日(尤其是美国)。其他人显然是星期六。有些显然是星期三?!
【问题讨论】:
-
请再读一遍我的问题。我相信我实际上已经足够努力地强调这一点,以至于对于你们两个提出的问题根本不可能误解它。令人惊讶的是,我错了。再说一遍:某些地区(即美国)使用星期日作为一周的第一天。其他人使用 ISO 标准星期一作为一周的第一天。我如何为此查询 Joda Time?使用 Java,这非常简单:java.sun.com/javase/6/docs/api/java/util/… 所以:Calendar.getInstance(Locale.US).getFirstDayOfWeek()。和乔达在一起?
-
为什么不直接使用 Calendar.getInstance(Locale.US).getFirstDayOfWeek()?
-
因为如果我想使用 Joda Time,我想“一直使用”它,而不是混合使用两个完全不同的库。
-
是的,该声明意味着您可以轻松地在它们之间来回切换。 AFAICT 并不意味着您应该混合它们。对我来说,我似乎可以用 Joda Time 做任何事情,纯粹的,除了找到一周的第一天!
-
Calendar.getFirstDayOfWeek() 将返回与 Joda 的 DateTimeConstants 不同的数字。例如,Calendar.SUNDAY==1(美国默认),而 DateTimeConstants.SUNDAY==7 (ISO)。
标签: java calendar jodatime weekday