프로그래밍 기록/Java

ZonedDateTime.parse()

Heeseonn 2022. 12. 17. 21:32

https://stackoverflow.com/questions/27293994/how-to-parse-zoneddatetime-with-default-zone

  1. 타임존을 반영
  2. ZonedDateTime.parse()를 이용

이라는 두 가지 조건을 충족하여 코드를 짜고 싶었다.

그런데 보통

zonedDateTime.parse("2022-05-16".concat("T00:00:00").concat(offset).concat([timezone]), DateTimeFormatter.ISO_OFFSET_DATE_TIME);

처럼 timezone바깥에 대괄호가 양 옆으로 있어야 했다....

왠지 하드코딩느낌이어서 저렇게 코드를 짜고 싶지 않았고...

위의 링크를 찾아서 코드를 재수정할 수 있었다.

수정한 코드:

 

zonedDateTime.parse("2022-05-16".concat("T00:00:00").concat(offset), DateTimeFormatter.ISO_ZONED_DATE_TIME.withzone(zoneId.of(zoneid)));