Запуск следующий метод в качестве теста на своем собственном классеWeird Дата выпуск
DateTime dt = new DateTime(1942, 11, 16, 1, 0, 0);
System.out.println(dt.getChronology().getZone().getID());
System.out.println(dt);
System.out.println(dt.withZone(DateTimeZone.forID("Europe/London")));
System.out.println(dt.toDate());
дает выход:
Europe/London
1942-11-16T01:00:00.000+01:00
1942-11-16T01:00:00.000+01:00
Mon Nov 16 01:00:00 BST 1942
Однако запуск все испытания, который включает в себя вышеупомянутый метод, результаты in:
Europe/London
1942-11-16T01:00:00.000+01:00
1942-11-16T01:00:00.000+01:00
Mon Nov 16 00:00:00 BDT 1942
Я немного похудел, как объяснить это поведение .. . Моя система часовых поясов, безусловно, не меняется между двумя видами выполнения теста .....
(Это проблема, так как это также иногда но не воспроизводимо происходит при манипулировании java.util.Date
)
Я обычно использовал [nodatime] (http://nodatime.org/), но могли бы вы пройти через него и увидеть создание и что он приносит? – jbutler483
можете ли вы показать * полный * код, который воспроизводит эту проблему. – reto
@ jbutler483: вам было бы трудно сделать это на Java :) –