"같은 시간인데 자릿수가 달라"
API에서 받은 1700000000과 1700000000000. 비슷해 보이지만 한 번 변환하면 결과가 1000배 차이. 단위가 달라서다. 한 번 풀어 본다.
초 단위 (Unix 타임스탬프)
- 1970년 1월 1일 자정 UTC부터 경과한 초
- 10자리 숫자 (현재 기준)
- 예: 1700000000
- 전통적 표준
밀리초 단위
- 같은 기준점부터 경과한 밀리초
- 13자리 숫자 (현재 기준)
- 예: 1700000000000
- JavaScript Date 표준
같은 시간, 다른 단위
1700000000초 = 1700000000000밀리초. 1000배 차이일 뿐 같은 시점.
언어별 기본 단위
- JavaScript Date.now() → 밀리초
- Python time.time() → 초 (소수점)
- Java System.currentTimeMillis() → 밀리초
- PHP time() → 초
실수 자주 하는 지점
JavaScript에서 받은 13자리 숫자를 Python에 넣으면 시간이 미래로. Python에서 받은 10자리를 JavaScript에 넣으면 1970년대로. 타임스탬프 변환기로 자릿수 확인.
구분 기준
- 10자리 → 초 단위
- 13자리 → 밀리초 단위
- 16자리 → 마이크로초
- 19자리 → 나노초
변환 방법
- 밀리초 → 초: 1000으로 나누기
- 초 → 밀리초: 1000 곱하기
도구 활용
도구는 보통 두 단위 자동 인식. Unix 타임스탬프 변환기로 자릿수 보고 단위 자동 처리.
마무리
같은 시간이라도 단위가 다르다. 자릿수만 봐도 단위 구분 가능. 한 번 차이를 익히면 헷갈림이 사라진다.