Я использую Java 8 и пытаюсь преобразовать временную метку из одного часового пояса в другой. Временная метка будет находиться в часовом поясе пользователя, например.Преобразование даты с одного часового пояса в местный часовой пояс
// 2016-04-11T12:00:00Z
long sourceTime = 1460372400000L;
timezoneConverter(sourceTime, "America/New_York");
Однако при использовании Joda времени, или Java 8 LocalDateTime/Мгновенные, когда я прохожу метку времени она устанавливается в часовом поясе пользователя - мне не нужно, чтобы это произошло, как это уже в часовой пояс пользователя (все временные метки будут отправляться в локальное время пользователя).
ZonedDateTime zdt =
ZonedDateTime.ofInstant(Instant.ofEpochMilli(1460372400000L),
ZoneId.of("America/New_York"))
приводит
2016-04-11T07:00-04:00[America/New_York]
вместо
2016-04-11T12:00-04:00[America/New_York]
Есть ли способ обойти это?
Спасибо!
Я боюсь ваше утверждение "это временная метка из пользовательского t ime zone ". указывает на непонимание значения временных меток, таких как '1460372400000L'. Такие глобальные временные метки не связаны ни с одним часовым поясом, а только с UTC + 00: 00. –