본문 바로가기
FullStack/21. Java

TimeZone 출력(GMT, UTC)

by nakanara 2023. 7. 18.
반응형

 

- GMT(Greenwich Mean Time) 그리니치 평균시

런던을 기점, 웰링턴을 종점으로 하는 협정 세계시의 빠른 시간
1972년 1월 1일부터 '협정 세계시'를 공식 표현으로 쓰지만 아직도 GMT란 표현이 널리 사용

- UTC(Coordinated Universal Time) 협정 세계시

1972년 1월 1일부터 시행된 국제 표준시, UTC는 국제원자시와 윤초 보정을 기반으로 표준화
UTC는 그리니치 평균시(GMT와 초의 소수점 단위에서만 차이기 나기 때문에 일상에서는 혼용 사용하지만 기술적인 표기에서는 UTC가 사용

국제 전기 통신 연합은 협정 세계시에 대한 통일된 약자를 원했으나, 영어권의 CUT(Coordinated Universal Time) 프랑스어권의 TUC(Temps Universel Coordonné) 각각 자신의 언어로 된 약자인 사용 분쟁으로 UTC라는 약어를 탄생

- TimeZone 리스트의 GMT, UTC를 함께 볼 수 있는 Java 소스

import java.util.Date;
import java.text.SimpleDateFormat;
import java.time.format.DateTimeFormatter;
import java.time.ZoneId;
import java.time.ZonedDateTime;

    DateTimeFormatter gmtFormatter = DateTimeFormatter.ofPattern("OOOO");
    DateTimeFormatter utcFormatter = DateTimeFormatter.ofPattern("'UTC'xxx");
    // stream all the IDs (sorted) and create a ZonedDateTime at each ZoneId
    ZoneId.getAvailableZoneIds().stream().sorted().forEach(zoneId -> {
        ZonedDateTime now = ZonedDateTime.now(ZoneId.of(zoneId));
        // then print the zone id and the other representations using the formatters
        System.out.println(
            String.format("%-32s %9s / %9s",
                zoneId.toString(),
                now.format(gmtFormatter),
                now.format(utcFormatter)
            ));
    });

 

 

반응형

'FullStack > 21. Java' 카테고리의 다른 글

Azure Active Directory SSO - 연동 준비(1)  (0) 2023.09.29
ResultSet의 setFetchSize 에 따른 성능  (0) 2023.09.05
Java 메일 읽기  (0) 2023.05.16
[Spring] RequestContextHolder  (0) 2023.02.15
인텔리J 톰켓 위치-로그  (0) 2023.01.17