UTC 자정 전 거래 기록을 한국 날짜로 묶으면 어느 달에 들어가나

발행

거래 기록에 2026-10-31T16:00:00Z가 들어 있다면 한국 날짜로는 11월 1일 오전 1시다. 원문 앞의 날짜 열 자리만 잘라 월별로 세면 10월에 들어가고, 한국 표준시로 바꾼 다음 세면 11월에 들어간다. 같은 시각을 다르게 표현한 것이므로 거래가 한 건 더 생기거나 사라진 것은 아니다.

시간대가 있는 값인지 먼저 본다

문자열 끝의 Z는 UTC 표현에 사용된다. +09:00처럼 오프셋이 붙은 값은 그 정보까지 읽어야 한다. 반면 자료 명세가 계약일을 단순한 날짜로 제공한다면, 임의로 UTC 자정을 붙여 시간대 변환을 해서는 안 된다. 계약 날짜, 시스템 기록 시각, 갱신 시각 가운데 어떤 항목인지부터 구분한다.

월간 통계를 만들 때는 원문 시각을 보존하고 해석한 시간대 값과 집계용 날짜를 별도 열로 만든다. 날짜를 먼저 잘라 버리면 그 뒤에는 원래 시각을 이용한 경계 검증이 어려워진다. 지역별 일광절약시간이 있는 외국 시각은 고정 오프셋 하나를 모든 기간에 적용할 수 있는지도 확인해야 한다.

변환한 뒤 월을 추출한다

Microsoft Power Query의 DateTimeZone.SwitchZone은 시간대 정보가 있는 값을 지정한 오프셋으로 바꾸는 함수다. 공식 문서는 시간대 성분이 없는 값에는 오류가 발생한다고 설명한다. 명세가 UTC인 시각을 올바른 datetimezone 자료형으로 읽었다면, 한국 표준시 집계에는 9시간 오프셋을 적용한 결과에서 날짜와 월을 구한다. 단순히 문자열의 Z를 지우는 작업과는 다르다.

위의 가상 시각은 UTC에 9시간을 더하면 다음 달로 넘어간다. 검증 표에는 월말·연말·자정 부근의 몇 건을 골라 원문과 한국 시각을 나란히 놓는다. 월별 건수가 달라져도 전체 기간의 고유 거래 수가 보존되는지 확인하면 날짜 귀속 변화와 누락을 구분할 수 있다.

결과표의 제목에는 계약일 기준인지 기록 시각의 한국 날짜 기준인지 적는다. 원자료가 이미 한국 날짜로 확정한 계약일이라면 그대로 사용해야 할 수도 있다. 시간대 변환은 모든 날짜에 추가하는 보정이 아니라, 같은 시각을 어느 지역의 달력으로 묶을지 정하는 과정이다.

출처와 확인일