한국에서는 "2024.03.05"처럼 연도를 가장 먼저 쓰는 표기가 표준이다. 그런데 미국식 03/05/2024를 그대로 "연월일" 감각으로 읽으면 전혀 다른 날짜가 되어버리고, 두 날짜의 차이를 계산하는 과정 전체가 조용히 틀어진다.
YYYY.MM.DD와 MM/DD/YYYY의 차이
한국의 관공서·은행 서식은 대부분 연-월-일 순서(2024.03.05)를 쓴다. 반면 미국식 03/05/2024는 월이 먼저 오므로 3월 5일을 뜻하지만, 대부분의 다른 나라가 쓰는 05/03/2024(일이 먼저)는 같은 자리의 숫자가 5월 3일을 의미한다. 해외 API나 스프레드시트에서 온 날짜를 무심코 한국식 순서로 읽으면, 계산된 날짜 차이가 몇 주씩 어긋나도 코드 에러는 전혀 나지 않는다.
모호함이 없는 형식: ISO 8601
2024-03-05(연-월-일) 표기는 어느 나라에서 읽어도 동일하게 해석되기 때문에 API, 데이터베이스, 로그의 표준으로 자리 잡았다. 시스템 간에 날짜를 주고받을 때 형식을 선택할 수 있다면, ISO 8601을 쓰는 것이 이 문제를 근본적으로 없애는 방법이다.
시간대와 하루의 경계
날짜에 시각까지 포함된다면, 시간대 차이가 일수 계산 결과를 하나만큼 바꿀 수 있다: 서울의 23시 30분과 같은 순간 뉴욕의 오전 9시 30분은, 어느 시간대로 세느냐에 따라 서로 다른 달력 날짜에 속할 수 있다.
왜 필요한가
- 마감일까지, 또는 프로젝트 시작일부터의 정확한 일수 계산하기.
- 임대차 계약, 구독, 보증 기간이 아직 유효한지 확인하기.
- 형식을 잘못 읽은 날짜가 보고서를 망치기 전에 찾아내기.
"월 차이"에 정답이 하나가 아닌 이유
3월 31일에서 한 달을 빼면 결과가 모호해진다 — 2월 31일은 존재하지 않으므로, 어떤 시스템은 2월 28일로 반올림하고 어떤 시스템은 초과분을 3월 3일로 넘긴다. 두 방식 모두 나름의 근거가 있지만 서로 일치하지 않으므로, 다른 도구와 결과가 다를 때 이 점을 먼저 떠올리면 좋다.