从DateTime(Joda Time)到Date(java.util)的转换

Cem*_*mre 2 datetime date jodatime

我将这个日期"22/11/11"解析为一个名为s的DateTime对象.当我做s.getDayOfMonth()时,它给了我22这是对的.但是,当我将DateTime对象转换为Date对象并尝试使用s.toDate().getDate()获取日期时,它返回24,这是不对的.有谁知道为什么会这样?

Jod*_*hen 6

Joda-Time DateTime.toDate()方法转换为java.util.Date具有相同毫秒时刻的a.该java.util.Date.getDate()方法使用本地默认时区返回其值,而DateTime.getDayOfMonth()使用存储在DateTime对象中的时区.如果两个时区不同,您可能会看到差异,解释您观察到的22/24.

为了进一步了解,打印的时间区DateTime,以及默认的Java区TimeZone.getDefault()所使用java.util.Date.