Преобразование из DateTime (время Joda) в Date (java.util) - PullRequest
2 голосов
/ 02 декабря 2011

Я анализирую эту дату "22/11/11" в объект DateTime с именем s. Когда я делаю s.getDayOfMonth (), это дает мне 22, что правильно. Однако когда я конвертирую объект DateTime в объект Date и пытаюсь получить дату, используя s.toDate (). GetDate (), он возвращает 24, что неправильно. У кого-нибудь есть идея, почему это происходит?

1 Ответ

6 голосов
/ 09 декабря 2011

Метод Joda-Time DateTime.toDate() преобразуется в java.util.Date с тем же миллисекундным мгновением.Метод java.util.Date.getDate() использует местный часовой пояс по умолчанию для возврата его значения, тогда как DateTime.getDayOfMonth() использует часовой пояс, сохраненный в объекте DateTime.Если два часовых пояса различаются, вы можете увидеть разницу, объясняя 22/24, которые вы наблюдаете.

Для дальнейшего понимания выведите часовой пояс DateTime и зону Java по умолчанию TimeZone.getDefault() используется java.util.Date.

...