표준 시간과 타임스탬프 가이드
글로벌 웹 서비스를 구축할 때 반드시 알아야 할 시간 처리 개념을 정리했습니다.
1. UTC와 GMT의 차이는 무엇인가요?
UTC(협정 세계시)는 원자 시계를 기반으로 하여 오차가 거의 없는 국제 표준 시간입니다. 반면 GMT(그리니치 표준시)는 영국 런던을 기점으로 하는 천문학적 관측 기준 시간입니다. 실생활에서는 두 시간이 동일하게 취급되지만, 현대의 소프트웨어 개발과 서버 아키텍처에서는 더 정확한 규격인 UTC를 표준으로 사용합니다. 한국 시간(KST)은 UTC보다 9시간 빠르므로 `UTC+09:00`으로 표기됩니다.
2. Unix Timestamp (Epoch Time)란?
1970년 1월 1일 00:00:00 UTC부터 현재까지 경과된 시간을 '초(Seconds)' 또는 '밀리초(Milliseconds)'로 환산한 정수값입니다. 타임존(Timezone)이나 국가별 일광 절약 시간제(썸머타임)에 영향을 받지 않는 절대적인 값이므로, 데이터베이스 저장이나 서버 간 데이터 통신(API)에서 가장 안전하게 시간을 다루는 방식입니다.
3. ISO 8601 포맷의 장점
YYYY-MM-DDThh:mm:ss.sssZ 형태로 날짜와 시간을 표기하는 국제 표준 규격입니다. 끝에 붙은 문자 'Z'는 Zulu Time을 의미하며, 이 시간이 UTC 기준임을 브라우저나 서버에게 명확하게 알려줍니다. 프론트엔드 환경(React, Vue 등)에서 `JSON.stringify()`로 객체를 직렬화할 때 Date 객체는 자동으로 이 포맷으로 변환됩니다.