为什么用weekyear解析日期会返回错误的年份?

时间:2016-07-15 15:16:45

标签: java jodatime

DateTime time=DateTimeFormat.forPattern("yyyy-ww").parseDateTime("2013-01"); 

其中DateTimeFormatorg.joda.time.format.DateTimeFormat

当我执行上述操作时,时间变为2013-12-30T00:00:00.000 我究竟做错了什么?这是一个错误吗?我预计它将是2013年的第一周,而不是最后一周。

1 个答案:

答案 0 :(得分:2)

请参阅here

w,周年周,模式字母用于x,周年。来自javadoc of DateTimeFormat

 x       weekyear                     year          1996
 w       week of weekyear             number        27

将您的模式更改为

DateTimeFormat.forPattern("xxxx-ww")

并且您将解析

2012-12-31T00:00:00.000-08:00

根据您的Locale,2013年的第一周开始于2012年。