Конвертировать UTC в восточное преобладающее время (EDT или EST) - PullRequest
2 голосов
/ 03 апреля 2012

Может кто-нибудь сказать мне, как я могу преобразовать дату UTC в JodaTime в восточное преобладающее время (которое является EST или EDT в зависимости от времени года?)

Ответы [ 2 ]

4 голосов
/ 19 апреля 2012

Используйте withZone () для преобразования объекта Joda-Time в другой часовой пояс.

2 голосов
/ 16 декабря 2015

Джода позаботится об этом сам. Существует небольшая разница между использованием TimeZone и локали места.

Посмотрите на следующие примеры.

Использование локали:

Использование подсказки @ BillMan для DateTimeZone в качестве локали фактически изменит часовой пояс.

System.out.println("Winter " + DateTime.now(DateTimeZone.UTC).parse("2015-12-01T12:00:00").toDateTime(DateTimeZone.forID("America/New_York")).toString());
System.out.println("Summer " + DateTime.now(DateTimeZone.UTC).parse("2015-05-01T12:00:00").toDateTime(DateTimeZone.forID("America/New_York")).toString());

Возвращается:

Winter 2015-12-01T12:00:00.000-05:00
Summer 2015-05-01T12:00:00.000-04:00

Использование часового пояса:

Обратите внимание, что оба раза установлены на 12:00:00, а результат в Summer сдвинут на час (но смещение осталось прежним)

System.out.println("Winter " + DateTime.now(DateTimeZone.UTC).parse("2015-12-01T12:00:00").toDateTime(DateTimeZone.forID("EST")).toString());
System.out.println("Summer " + DateTime.now(DateTimeZone.UTC).parse("2015-05-01T12:00:00").toDateTime(DateTimeZone.forID("EST")).toString());

Возвращается:

 Winter 2015-12-01T12:00:00.000-05:00
 Summer 2015-05-01T11:00:00.000-05:00
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...