UTC 에 대해서

UTC 는 영국 런던 그리니치 천문대를 기준으로 한 세계 표준 시간을 뜻한다.

toUTCString() 결과로 표현되는 GMT(Greenwich Mean Time) 가 그 의미를 뜻한다.

const date = new Date('2025-11-04T15:30:45.123'); // Tue Nov 04 2025 15:30:45 GMT+0900 (한국 표준시)

date.toISOString(); // 2025-11-04T06:30:45.123Z
date.toUTCString(); // Mon, 04 Nov 2025 06:30:45 GMT

2025-11-04T15:30:45.123 는 타임존이 없으므로 OS 시스템 타임존을 따라 한국 표준시로 반환되었다.

toISOString(), toUTCString() 모두 UTC 시간을 표현한다.

한국 시간은 GMT 표준시 보다 9시간 빠른 것을 확인할 수 있다. (+9시간, 시간이 더 갔다는 의미)

왜 UTC 로 표현해야할까?

UTC 로 표현하지 않으면 어디를 기준으로 측정한 시간인지 모르기 때문이다.

2025-11-04T15:30:45.123 로 생성한 날짜는 내 OS 시스템 타임존에 의존해서 정의되었다.

이 날짜는 한국 표준시로 측정된 날짜가 아닐 수도 있었다.

UTC 로 정의된 2025-11-04T06:30:45.123Z 는 모든 타임존에서 동일한 절대적인 시간이 되는 것이다.

new Date('2025-11-04T06:30:45.123Z');

date.toLocaleString('ko-KR', { timeZone: "Asia/Seoul" }) // 2025. 11. 4. 오후 3:30:45
date.toLocaleString('en-US', { timeZone: "America/New_York" }) // 11/4/2025, 1:30:45 AM

toLocaleString 메서드로 특정 타임존으로 시간을 출력할 수 있다.

Locale 을 지정해 표기법을 지정할 수도 있다.