타임존은 동일한 로컬 시간을 따르는 지역을 의미한다. 보통 국가별로 고유 타임존을 사용하며, 면적이 넓은 나라는 지역별로 다른 타임존을 사용한다. 시스템 또는 플랫폼 간의 의사소통 방식으로서의 API가 대중화되고 서비스 지역이 전세계로 확장되면서 API 요청 및 응답에 있어 타임존 정보를 적절하게 인식하고 가공하는 작업이 중요해졌다
GMT +09:00 으로 표현된다.UTC+09:00에서 +09:00의 의미는 UTC 기준 시간보다 9시간 빠르다는 의미이다. 00:00 이면, 한국시간으로 09:00라는 것이다// 로컬 시간을 의미하는 ISO 8601 문자열
2023-11-06T15:00:00.000
// UTC(GMT) 시간을 의미하는 ISO 8601 문자열
2023-11-06T06:00:00.000Z
// 로컬 시간을 의미하면서 UTC(GMT) 대비 +09:00 임을 의미하는 ISO 8601 문자열
2023-11-06T15:00:00.000+09:00
//날짜 출력
LocalDate date1 = LocalDate.now();
System.out.println(date1); //2022-04-14
//날짜 입력
LocalDate date2 = LocalDate.of(1990, 8, 29);
System.out.println(date2); //1990-8-29
LocalTime currentTime = LocalTime.now(); //현재시각 (12:52:11.804)
LocalTime currentTimeInParis = LocalTime.now(ZoneId.of("Asia/Seoul")); //한국 서울 시각(02:12:23.706)
LocalDate.now().atTime(LocalTime.MIDNIGHT); // 하루가 시작되는 자정의 시간, '00:00'.
LocalDate.now().atTime(LocalTime.MAX); 지원되는 최대 LocalTime '23:59:59.999999999'
LocalDate.now().atTime(LocalTime.MIDNIGHT)atZone(ZoneId.of("Asia/Seoul"));
atTime() : 지정된 시간에 이 날짜로부터 형성된 LocalDateTime 을 반환한다.LocalDate에 Time을 추가하려면 atTime()을 사용한다.atZone() : 지정된 시간대의 이 날짜-시간으로 구성된 ZonedDateTime 을 반환한다.출처
[Java] Java에서 날짜, 시간(Date, Time) 다루기
Java 8, 타임존이 포함된 ISO 8601 문자열을 LocalDateTime으로 변환하기
[Java]날짜와 시간 다루기(java.time)
JAVA - LocalDate, LocalTime, LocalDateTime