Excel Date Converter

Excel OADate → Unix 타임스탬프 변환기

Excel OADate을(를) Unix 시간으로 변환합니다. 정확한 공식과 큰 값 지원. 출력: 초, 밀리초, ISO 8601, 가독 형식.

1899-12-30 이후의 일수

현재 시간 — Excel 일련 날짜 / OADate
Unix 타임스탬프(초)

Excel 일련 날짜란?

Excel은 날짜를 일련번호로 저장합니다. 정수부는 시스템 epoch 이후의 일수, 소수부는 그날의 시각입니다. 기본 1900 날짜 체계에서 일련번호 1은 1900년 1월 1일입니다. .NET과 COM이 쓰는 OLE Automation Date(OADate)는 같은 일수 계산을 쓰지만 1899년 12월 30일부터 셉니다.

  • 일 0(OADate) = 1899-12-30; Excel 일련번호 1 = 1900-01-01
  • 정수부 = 일수, 소수부 = 24시간 하루에 대한 비율
  • 예: 45244.92592593 → 2023-11-14 22:13:20
  • OADate는 .NET의 DateTime.ToOADate()로 생성됨

Excel 날짜를 Unix 시간으로 변환하는 법

Excel/OADate 기준점(1899-12-30)과 Unix epoch(1970-01-01) 사이에는 25,569일이 있습니다. 그것을 빼고 하루의 초 수를 곱합니다.

  • Unix seconds = (ExcelSerial − 25569) × 86400
  • Unix milliseconds = (ExcelSerial − 25569) × 86400000
  • 역방향: ExcelSerial = Unix seconds / 86400 + 25569
  • 이 변환기는 입력을 UTC 벽시계 값으로 취급함

1900년 윤년 버그

Lotus 1-2-3과의 하위 호환을 위해 Excel은 1900년을 윤년으로 잘못 취급하여 존재하지 않는 1900년 2월 29일(일련번호 60)을 포함합니다. 1900년 3월 1일 이후의 모든 날짜에서는 표준 오프셋 25,569가 맞으며, 영향받는 것은 일련번호 60 이하뿐입니다. 실제 데이터 대부분은 이보다 훨씬 뒤라서 실무에서 이 버그가 문제 되는 경우는 드뭅니다 — 하지만 이것이 오프셋이 25,568이 아니라 25,569인 이유입니다.

  • 일련번호 60 = 유령 날짜 1900-02-29; 일련번호 61 = 1900-03-01
  • 1900-03-01 이전 날짜는 1900 체계에서 하루 어긋남
  • 1904 날짜 체계(옛 Mac Excel)는 대신 1904-01-01부터 셈

관련 타임스탬프 형식 변환기

다른 스프레드시트 날짜 체계

Excel의 1900 체계가 가장 흔하지만 유일한 것은 아닙니다:

  • Excel 1904 날짜 체계(옛 Mac 기본값)는 1904-01-01을 일 0으로 사용; Unix로의 오프셋은 24107
  • Google Sheets는 호환성을 위해 1900 체계(오프셋 25569)에 맞춤
  • LibreOffice Calc는 설정으로 1899-12-30과 1900-01-01 기준점을 모두 지원
  • Power Query: Number.From(DateTime.FromText(...))는 1899-12-30 이후의 일수를 반환(1900 체계)
  • Excel의 .xlsx 내부에서는 기반 XML이 ISO 8601을 저장함 — Excel은 읽을 때 일련번호로/에서 변환함

FAQ

Excel 일련 날짜를 Unix 타임스탬프로 변환하려면?
25,569(1899-12-30과 1970-01-01 사이의 일수)을 빼고 86,400을 곱해 Unix 초를 얻으세요.
OADate란?
OLE 자동화 날짜는 1899년 12월 30일부터의 부동소수점 일수로, .NET(DateTime.ToOADate)과 COM이 사용합니다. 모든 현대 날짜에서 Excel 일련 날짜와 일치합니다.
왜 Excel 오프셋이 25568이 아니라 25569인가?
Excel의 1900년 윤년 버그가 가짜 1900년 2월 29일을 삽입해 그 이후 모든 날짜에 하루를 더하므로, 25,569가 현대 날짜에 대한 올바른 오프셋이 됩니다.