2016-07-15 72 views
1
DateTime time=DateTimeFormat.forPattern("yyyy-ww").parseDateTime("2013-01"); 

其中DateTimeFormatorg.joda.time.format.DateTimeFormat爲什麼使用weekyear解析日期會返回錯誤的一年?

當我執行上述,時間變成2013-12-30T00:00:00.000 我做錯了什麼?這是一個錯誤?我預計它將成爲2013年的第一週,而不是最後一週。

+0

你期望什麼價值?爲什麼? –

+0

2013年第一週的日期 –

+0

2013-02給出2013-01-07,所以我預計2012-12-31 –

回答

2

請參閱here

w,weekyear的星期,模式字母意味着與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年

開始