Проблема преобразования java.утиль.Дата до орг.Джода.время.LocalDateTime
import org.joda.time.LocalDateTime;
import java.util.Date;
С этой датой или со следующими все в порядке:
-
new LocalDateTime(new Date(0,0,1,2,30))
- 1900-01-01T02: 30: 00.000 -
new LocalDateTime(new Date(111,4,24,19,51))
- 2011-05-24T19: 51: 00.000
-
new LocalDateTime(new Date(0,0,1,2,29,50))
- 1900-01-01T01: 59: 50.000 -
new LocalDateTime(new Date(0,0,1))
- 1899-12-31T23: 30: 00.000 -
new LocalDateTime(new Date(-50,0,1))
- 1849-12-31T23: 30: 20.000 -
new LocalDateTime(new Date(-116,6,4))
- 1784-07-03T23: 30: 20.000
Кто знает, что это такое и как предотвратить эта проблема?
1 ответ:
Какой часовой пояс вы используете? Похоже, что вы имеете дело с разрывом часов, возможно, около 2 часов ночи 1 января 1900 года. Это означает, что определенное количество времени было пропущено местными часами и официально не существует. Это также может быть изменение в ДСТ. Последовательная разница в ваших последних 3 строках выглядит странно, хотя-возможно, календарь Java и время Joda используют другую версию базы данных часовых поясов, и изменение отсутствует в одном из них . их.
Вы можете проверить свой часовой пояс на предмет изменений на связанном сайте.