Skip to content

Timezone

  • Published on
    IANA 시간대 데이터베이스의 올해 세 번째 릴리스인 tzdata 2026c가 7월 8일에 나왔습니다. 브리티시컬럼비아와 앨버타가 계절 시계 변경을 폐지해 각각 영구 -07과 -06이 됐고, 모로코는 9월 20일부터 8년 만에 영구 +00으로 돌아가며, 2087년까지 실려 있던 라마단 예측 규칙 126줄이 삭제됐습니다. 흥미로운 대목은 tzdb가 CLDR 48.x의 표시 이름 제약 때문에 법적 발효일 대신 11월 1일이라는 "일부러 틀린" 전환 날짜를 임시로 실었다는 점입니다. 릴리스가 각 배포 경로(Go, Debian, OpenJDK, ICU)로 전파된 실제 속도를 확인하고, 9월 20일과 11월 1일이라는 두 데드라인 전에 무엇을 점검해야 하는지, 그리고 어떤 시스템은 이번엔 신경 쓰지 않아도 되는지 정리합니다.
  • Published on
    UTC로 저장하고 로컬로 표시하라. epoch와 ISO 8601, 오프셋과 타임존(IANA tz 데이터베이스)의 결정적 차이, 서머타임이 만드는 빈 시간과 겹치는 시간, 윤초, 절대 믿으면 안 되는 클라이언트 시계, 그리고 날짜와 순간의 구분까지. 시간을 다루는 개발자가 반드시 알아야 할 원칙을 실무 관점에서 정리합니다.
  • Published on
    하루는 24시간이다, 1분은 60초다, 시계는 앞으로만 간다, 타임존은 고정된 오프셋이다. 프로그래머가 시간에 대해 당연하게 믿는 이 명제들은 전부 거짓입니다. 유명한 "시간에 관한 거짓말" 목록을 하나씩, 각각에 실제로 터졌던 버그를 붙여 풀어 봅니다.
  • Published on
    "서버 시간대가 UTC면 될 줄 알았는데…" — 모든 개발자가 시간 관련 버그에 한 번씩은 당한다. Unix timestamp와 ISO 8601의 진짜 차이, UTC/GMT/TAI의 미묘한 구분, DST 전환 시 "존재하지 않는 1시간"과 "두 번 나타나는 1시간", 윤초 문제, tzdata 업데이트의 숨은 지뢰, JavaScript Temporal API가 왜 혁명인지, NTP와 PTP로 분산 시스템이 시간을 맞추는 방법까지 — 캘린더와 타임스탬프의 모든 함정을 10,000자로 정리합니다.