한 번 짚으면 헷갈림이 사라진다
도구 쓰다 보면 비슷한 질문이 자주 나온다. 한 번 정리해 두면 다음에 다시 헷갈리는 일이 줄어든다.
Q1. 2038년 문제(Y2K38)란?
32비트 정수로 표현 가능한 최대 Unix 타임스탬프가 2038년 1월 19일. 그 이후는 32비트 시스템에서 시간 표현 불가. 현대 64비트 시스템은 영향 없음.
Q2. 1970년 이전은 어떻게?
음수 타임스탬프 사용. -86400은 1969년 12월 31일. 일부 시스템은 음수 미지원이라 별도 처리 필요.
Q3. DST(일광절약시간) 처리는?
한국은 DST 미적용. 미국·유럽 일부 사용. 같은 타임스탬프도 DST 적용 시간대에서는 한 시간 차이로 보일 수 있다. UTC는 DST 영향 없음.
Q4. 윤초가 뭐야?
지구 자전 속도 변화로 가끔 추가하는 1초. Unix 타임스탬프는 윤초 무시. 일반 작업에는 영향 없음.
Q5. 마이크로초·나노초는?
- 마이크로초 → 16자리 (10^6)
- 나노초 → 19자리 (10^9)
- 고정밀 시간이 필요한 시스템
타임스탬프 변환기가 이 단위까지 지원하는지 확인.
Q6. JavaScript Date.now()는 왜 밀리초?
JavaScript는 처음부터 밀리초 정밀도 사용. Date 객체의 모든 메서드가 밀리초 단위로 작동.
Q7. 시간대 정보 없는 시간은?
"2024-01-01 00:00:00"처럼 시간대 명시 없는 경우. 도구가 보통 사용자 시간대(보통 KST) 가정. 명확히 하려면 ISO 8601 시간대 표기 사용.
Q8. 도구 결과를 코드에 그대로 써도 돼?
대체로 가능. 다만 단위(초/밀리초)와 시간대 일치 확인 필수. Unix 타임스탬프 변환기로 결과 검증 후 사용.
마무리
타임스탬프 관련 질문은 한두 번 짚으면 다음부터 헷갈리지 않는다.