我将此日期“22/11/11”解析为名为s的DateTime对象。当我做s.getDayOfMonth()时,它给了我22这是对的。但是,当我将DateTime对象转换为Date对象并尝试使用s.toDate()。getDate()获取日期时,它返回24,这是不对的。有谁知道为什么会这样?
答案 0 :(得分:6)
Joda-Time DateTime.toDate()
方法转换为具有相同毫秒时刻的java.util.Date
。 java.util.Date.getDate()
方法使用本地默认时区返回其值,而DateTime.getDayOfMonth()
使用存储在DateTime
对象中的时区。如果两个时区不同,您可能会看到差异,解释您观察到的22/24。
要进一步了解,请打印DateTime
的时区以及TimeZone.getDefault()
使用的默认Java区java.util.Date
。