
한 동료가 나에게 "1900년 1월 1일 이후 정확히 43871일이 지났습니다"라고 말했습니다. 오늘은 2020.02.10입니다.
PowerShell로 이를 확인하고 싶었지만 다른 결과를 얻었습니다.
PS C:\Windows\system32> New-TimeSpan ([datetime]"01.01.1900") (Get-Date)
Days : 43869
Hours : 11
Minutes : 15
Seconds : 46
Milliseconds : 304
그래서 2일 차이가 나서 헷갈렸어요. 그래서 저는 전능하신 Google에게 이렇게 물었습니다.
보시다시피 구글에도 43871일이 아니라 43869일이 지났다고 나와 있습니다.
그래서 친구에게 어떻게 계산했는지 물어봤습니다. 그는 Excel에서 셀을 dateonly
. 그런 다음 그가 int
그 안에 글을 쓰면 Excel은 그것을 날짜로 변환합니다. 예:
15641
된다27.10.1942
19874
된다30.05.1954
43869
된다08.02.2020
(?)43871
된다10.02.2020
(?)
Excel이 우리보다 2일 앞서 살고 있습니까? 아니면 왜 1900년 1월 1일 이후 실제보다 2일이 더 많았다고 생각합니까? 뭔가 빠졌나요?
여기에 작은 gif가 있습니다. (불행히도 독일어 Excel이 있기 때문에 독일어로 되어 있습니다.)
답변1
이유:
우선 친구와 Google이 다르게 계산하고 있습니다. Excel(1900 날짜 시스템 사용)은 1900년 이후 하루만 더 추가된 것으로 간주합니다.
Excel은 날짜를 일련 번호로 저장합니다. 여기서 1-Jan-1900
= 1
및 10-Feb-2020
-->43871
그래서이후 일Excel에서는 다음과 같아야 합니다 43871
- 1
-->43870
그러나 Excel 계산이 올바르지 않습니다.
Excel이 도입되었을 때 Lotus123은 최고의 스프레드시트 프로그램이었습니다.
Lotus 123에는 1900년을 윤년으로 인식하는 버그가 있었습니다.
경쟁을 고려한 호환성을 위해 Excel에는 해당 버그가 포함되었습니다. 그러나 29-Feb-1900
존재하지 않는 날짜 이므로 43869
두 날짜를 뺄 때 다른 방법이 올바르게 표시됩니다.
그건 그렇고, Excel VBA도 날짜 차이를 올바르게 계산합니다 -->43869
답변2
Microsoft Excel은 두 가지 다른 날짜 시스템을 지원합니다. 이러한 시스템은 1900년 날짜 시스템과 1904년 날짜 시스템입니다.
1900년 날짜 체계
1900 날짜 체계에서 지원되는 첫 번째 일은 1900년 1월 1일입니다. 날짜를 입력하면 해당 날짜는 1900년 1월 1일을 1로 시작하는 경과 일 수를 나타내는 일련 번호로 변환됩니다. 예를 들어 , 1998년 7월 5일을 입력하면 Excel에서는 날짜를 일련 번호 35981로 변환합니다. 기본적으로 Windows용 Microsoft Excel에서는 1900 날짜 체계를 사용합니다. 1900 날짜 시스템을 사용하면 Excel과 MS-DOS 또는 Microsoft Windows에서 실행되도록 설계된 Lotus 1-2-3과 같은 기타 스프레드시트 프로그램 간의 호환성이 향상됩니다.
1904년 날짜 체계
1904 날짜 체계에서 지원되는 첫 번째 날은 1904년 1월 1일입니다. 날짜를 입력하면 해당 날짜는 1904년 1월 1일 이후 경과된 일수를 나타내는 일련번호로 변환되며, 1월은 0부터 시작됩니다. 1, 1904. 예를 들어 1998년 7월 5일을 입력하면 Excel에서는 날짜를 일련 번호 34519로 변환합니다. 초기 Macintosh 컴퓨터의 설계로 인해 1904년 1월 1일 이전 날짜는 지원되지 않습니다. 이 디자인은 1900년이 윤년이 아니라는 사실과 관련된 문제를 방지하기 위한 것이었습니다. 과거에 Macintosh용 Excel에서는 Macintosh에서 생성된 통합 문서에 대해 기본적으로 1904 날짜 체계를 사용했습니다. 그러나 Macintosh용 Excel에서는 이제 기본적으로 1900 날짜 시스템을 사용하고 1900년 1월 1일부터 날짜를 지원합니다.
날짜 체계의 차이점
두 날짜 체계는 서로 다른 시작일을 사용하므로 동일한 날짜는 각 날짜 체계에서 서로 다른 일련번호로 표시됩니다. 예를 들어, 1998년 7월 5일은 다음과 같이 두 개의 서로 다른 일련 번호를 가질 수 있습니다.
Date system Serial number of July 5, 1998
1900 date system 35981
1904 date system 34519
원천: https://docs.microsoft.com/en-us/office/troubleshoot/excel/1900-and-1904-date-system