1
我將日期「22/11/11」解析爲名爲s的DateTime對象。當我做s.getDayOfMonth()時,它給了我22這是正確的。但是,當我將DateTime對象轉換爲Date對象並嘗試使用s.toDate()。getDate()獲取日期時,它返回24,這是不正確的。有誰知道爲什麼會發生這種情況?從日期時間(Joda時間)到日期(java.util)的轉換
我將日期「22/11/11」解析爲名爲s的DateTime對象。當我做s.getDayOfMonth()時,它給了我22這是正確的。但是,當我將DateTime對象轉換爲Date對象並嘗試使用s.toDate()。getDate()獲取日期時,它返回24,這是不正確的。有誰知道爲什麼會發生這種情況?從日期時間(Joda時間)到日期(java.util)的轉換
Joda-Time DateTime.toDate()
方法在毫秒瞬間轉換爲java.util.Date
。 java.util.Date.getDate()
方法使用本地默認時區返回其值,而DateTime.getDayOfMonth()
使用存儲在DateTime
對象中的時區。如果兩個時區不同,你可能會看到不同,解釋你觀察到的22/24。
要進一步瞭解,請打印DateTime
的時區,以及java.util.Date
使用的默認Java區域TimeZone.getDefault()
。
請複製相關代碼。此外,如果您打印s.toDate(),您看到了什麼? – leonbloy