목적
시스템의 표준 시간대 설정을 변경하지 않고 특정 표준 시간대를 적용하여 프로세스를 실행합니다.
표준 시간대 변경이 필요한 경우
- 배포 환경의 시스템 표준 시간대는 UTC이고 현재 작업중인 시스템의 표준 시간대는 Asia/Seoul(UTC+9)인 상태에서 배포 환경을 기준으로 로컬 환경의 프로그램을 동작해 보고 싶은 경우
일반적인 방법
시스템 설정 - 시간 및 언어 관련 메뉴에 진입하여 시스템 자체의 표준 시간대를 변경합니다.
표준 시간대의 임시 변경 방법
# TZ=UTC
TZ=<timezone-string> <command>
간단하게 확인해 봅시다. 표준 시간대 변경 부분이 command 앞에 와야 합니다.
한 줄짜리 프로그램을 작성하였습니다. UTC와 현재 적용되는 표준 시간대의 차이를 출력하는 함수입니다.
// index.js
console.log(new Date().getTimezoneOffset());
프로그램을 실행합니다.
node index.js
# -540
현재 한국 표준 시간대가 적용되어 시간대 오프셋은 -540(분)이 됩니다.
위의 커맨드에 타임존 할당 부분을 추가하여 다시 프로그램을 실행합니다.
TZ=UTC node index.js
# 0
UTC가 적용되어 오프셋은 0(분)이 됩니다.
Unix 기반 운영체제에서만 지원되는 방법으로, windows powershell로는 해당 방법을 이용할 수 없습니다.
timezone string 목록 - https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)