DateTimeFormatter получает местное время вместо использования жестко запрограммированного часового пояса.JAVA

Программисты JAVA общаются здесь
Anonymous
DateTimeFormatter получает местное время вместо использования жестко запрограммированного часового пояса.

Сообщение Anonymous »

У меня есть эти 2 строки:

Код: Выделить всё

DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyyMMdd_HHmmss")).withZone(ZoneId.of("UTC"));
String s = dateFormatter.format(Instant.now());
Вместо UTC я хотел бы получить местное время. Можно ли сделать это в общем, то есть не заменять «UTC», например, на "Америка/Нью_Йорк"?
Я пробовал

Код: Выделить всё

DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyyMMdd_HHmmss"));
String s = dateFormatter.format(ZonedDateTime.now());
но get ZonedDateTime.now() не разрешен, поскольку он автоматически использует часовой пояс системы по умолчанию. Вы должны явно указать часовой пояс (например, ZoneId.of("America/Los_Angeles"))

Подробнее здесь: https://stackoverflow.com/questions/790 ... -time-zone

Вернуться в «JAVA»