Конвертировать ZonedDateTime в java.util.Date - PullRequest
0 голосов
/ 13 марта 2019

Как мне преобразовать ZonedDateTime в java.util.Date без изменения часового пояса.

В моем методе ниже, когда я вызываю Date.from(datetime.toInstant()), он преобразует его в местный часовой пояс в моем случае SGT.

public static void printDate(ZonedDateTime datetime) {
    System.out.println("---> " + datetime.format(DateTimeFormatter.ofPattern(API_TIME_STAMP_PATTERN)));
    System.out.println(Date.from(datetime.toInstant()));
    System.out.println("\n");
}

Выход

---> 2019-03-13_08:46:26.593
Wed Mar 13 16:46:26 SGT 2019

1 Ответ

2 голосов
/ 13 марта 2019

Вы можете добавить смещение миллис самим. Смотрите пример, используя java.util.Date:

long offsetMillis = ZoneOffset.from(dateTime).getTotalSeconds() * 1000;
long isoMillis = dateTime.toInstant().toEpochMilli();
Date date = new Date(isoMillis + offsetMillis);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...