У меня есть этот простой код:Joda время получать правильное время от DATETIME
DateTimeFormatter formatter = DateTimeFormat.forPattern("HH:mm yyyy-MM-dd");
DateTime dateTime = formatter.withZone(DateTimeZone.forID("America/New_York")).parseDateTime("08:30 2015-06-01");
DateTime dateTime2 = formatter.withZone(DateTimeZone.forID("America/New_York")).parseDateTime("08:30 2015-12-01");
эти времена високосными. когда я ударил метод ToString, я получил что-то вроде этого:
2015-06-01T08:30:00.000-04:00
2015-12-01T08:30:00.000-05:00
, который является правильным, мы можем видеть UTC время - смещение. Но когда я называю getHourOfDay, я получил 8, а не 4/3, как ожидалось. Что я делаю не так? Пожалуйста, поделитесь некоторыми советами здесь.
это замечательно. поэтому, учитывая, что у меня есть время UTC, и мне нужно время ET (new york), мне нужно разобрать его без какой-либо зоны, а затем напечатать его следующим образом: System.out.println (dateTime.withZone (DateTimeZone.forID («America/New_York») «)) getHourOfDay()). ? –
Если вход UTC, строка должна содержать часовой пояс, или вы должны указывать системе UTC явно. –
работает, спасибо за помощь :) –