Dates that cause trouble with computers or are significant to computers.

Issues related to dates in the far future will be collected somewhere else.

Also see Troublesome Times.

12:00 November 24, 4714 BC (Gregorian Calendar)

Beginning of the Julian Day system.

epoch for HCL Domino / Notes

12:00 January 1, 4713 BC (Julian Calendar)

Beginning of the Julian Day system.

epoch for HCL Domino / Notes

January 1, 45 BC

Julian Calendar takes effect.

January 1, 1 AD

.NET DateTime

Year 24

Year 2024 confused with year 24.

March 1, 4 AD

Earliest date that Julian calendar and Gregorian calendar calculations are historically accurate.

January 1, 100 AD

LotusScript counts days from January 1, 100 AD.

October 4, 1582

Gregorian Calendar (Catholic) takes effect.

Pope Gregory XIII decreed Thursday, October 4, 1582, was followed by Friday, October 15.

October 5, 1582 to October 14, 1582

October 5, 1582 to October 14, 1582 were skipped when switching from Julian calendar to Gregorian Calendar (Catholic).

Java GregorianCalendar class skips these dates by default.

October 15, 1582

First date that Gregorian Calendar (Catholic) is continuous.

Base for Versions 1 and 6 UUIDs.

Lilian Date

January 1, 1601

FILETIME structure in Windows starts counting from January 1, 1601.

The Gregorian calendar operates on a 400-year cycle, and 1601 is the first year of the cycle that was active at the time Windows NT was being designed.

September 2, 1752

Great Britain declared that September 2, 1752, would be followed by September 14, 1752 when switching from Julian calendar to Gregorian Calendar.

September 3, 1752 to September 13, 1752

September 3, 1752 to September 13, 1752 were skipped when switching from Julian calendar to Gregorian calendar (Great Britain).

September 14, 1752

First date that Gregorian Calendar (Great Britain) is continuous.

January 1, 1753

SQL Server datetime starts counting from January 1, 1753.

September 22, 1792

Start of French Revolutionary calendar.

January 1, 1800

SSA’s Master Beneficiary Records format

Date of Birth in some of these records is stored as days since January 1, 1800.

12:00 November 16, 1858

November 16, 1858 is the base of the Reduced Julian Day system.

November 17, 1858

November 17, 1858 is the base of the Modified Julian Day system.

Julian Day 2,400,000 is November 17, 1858.

The Modified Julian Day uses the following formula:

MJD = JD - 2,400,000.5

December 29, 1873

Mars Sol Date

1885

time.minWall default Go is 1885.

December 30, 1899

December 31, 1899 (January 0, 1900)

Excel stores dates and times as a number representing the number of days since 1900-Jan-0.

The number 1 represents 1900-Jan-1

December 31, 1899 is the base of the Dublin Julian Day system.

January 1, 1900

SQL Server

Use smalldatetime to store dates in the range from January 1, 1900, through June 6, 2079.

https://www.itprotoday.com/early-versions/inside-datetime-data

February 29, 1900

This is because Excel behaves as if the date 1900-Feb-29 existed. It did not.

December 13, 1901

Year 2038 Problem will manifest as showing date as December 13, 1901.

The next second this counter can represent is 20:45:52 UTC on December 13, 1901.

In[21]:= DatePlus[{1970, 1, 1}, {-2^31, "Second"}]

Out[21]= {1901, 12, 13, 20, 45, 52}

December 31 1903 (January 0, 1904)

…but Excel can also treat the date portion of a serial date as the number of days since 1904-Jan-0.

January 1, 1904

old Macintosh epoch.

1912

Start of Taiwan calendar.

December 31, 1927

January 1, 1950

January 1, 1950 is the base of the CNES Julian Day system.

January 1, 1958

January 1, 1958 is the base of the CCSDS Julian Day system.

May 24, 1968

May 24, 1968 is the base of the Truncated Julian Day system.

December 31, 1969

23andMe Epoch Error

January 1, 1970

Unix epoch

JavaScript Date

EXT4 File Timestamps

January 1, 1971

January 4, 1975

On 4 January 1975, the 12-bit field that had been used for dates in the DECsystem-10 operating systems overflowed.

April 4, 1975

…but the developer who fixed the bug decided to be a bit clever: He chose April 4, 1975, the date of Microsoft’s founding.

1978

January 1, 1980

Epoch for Apollo Computer’s Domain/OS operating system

January 6, 1980

GPS epoch

September 18, 1989

2^16 days since January 1 1900

September 18, 1993

firstDIVUWithA8C0Overflows = 12 * 60 * 60 * 16^^10000

January 1 1904 (old Macintosh epoch) + firstDIVUWithA8C0Overflows = September 18 1993

October 29, 1995

Daylight Saving Time change loop

November 2, 1997

In Apollo Computer’s Domain/OS operating system, absolute time was stored as a signed 48-bit integer representing the number of 4-microsecond units since 1 January 1980. This value overflowed on 2 November 1997, rendering unpatched systems unusable.

Around April First of this year reports started circulating in the Apollo Usenet newsgroup of a “date bug” in Domain/OS that would render all Apollo workstations useless after November 2, 1997.

In[1]:= DatePlus[{1980, 1, 1}, {(4 * 2^47)/10^6, "Second"}]

Out[1]= {1997, 11, 2, 14, 59, 13.4213}

1999

2000

Y2K

January 1, 2000

January 1, 2000 is the base of the Modified JD2000 system.

January 1, 2001

September 9, 2001

January 2, 2006

May 13, 2006

It sound like that could equate to “Sat May 13 02:27:28 BST 2006”, or 1147483648 seconds since epoch, which makes it exactly 1,000,000,000 seconds until expiry of 32 bit time. Coincidence? Seems too strange as to a computer that is not a nice round number.

March 28, 2007

firstDIVUWithA8C0Overflows = 12 * 60 * 60 * 16^^10000

January 1 1904 (old Macintosh epoch) + firstDIVUWithA8C0Overflows = September 18 1993

September 18 1993 + 5000 days = May 28 2007

December 2, 2007

Sunday December 2 is beginning of GPS week 432

592 weeks before next GPS week rollover

June 14, 2008

…it means that 2008-06-14 23:29:20 UTC is, in a strange sense, “HTTP time”. If you see either that number or that date (with possible adjustments for your local time zone) showing up in your life inexplicably, this might just be why.

December 31, 2008

The bug would be triggered on the last day of any leap year

2010

November 2010

December 12, 2010

Sunday December 12 is beginning of GPS week 590

434 weeks before next GPS week rollover

Rollover date for various Furuno GPS equipment.

2011

January 1, 2011

June 30, 2012

June 30, 2012 leap second

January 2013

March 10, 2013

Daylight Saving Time begins on Sunday March 10, 2013

August 11, 2013

2^32 deci-seconds from January 1, 2000

Sunday August 11 is beginning of GPS week 729

ALSO 295 weeks before next GPS week rollover

Rollover date for various Furuno GPS equipment.

End of 2014

ISO week vs. Gregorian week

September 5, 2015

If system used by Apollo workstation was unsigned

In[3]:= DateList[{1980, 1, 1}];
DatePlus[%, Quantity[(4*2^48)/10^6, "Second"]]

Out[4]= {2015, 9, 5, 5, 58, 26.8426}

January 1, 2016

August 16, 2017

1024 weeks since January 1, 1998

September 17, 2017

Sunday September 17 is beginning of GPS week 943

Rollover date for various Furuno GPS equipment.

December 2017

“Month 13 is out of bounds”

August 19, 2018

Sunday August 19 is beginning of GPS week 991

Rollover date for various Furuno GPS equipment.

September 16, 2018

Sunday September 16 is beginning of GPS week 995

Rollover date for various Furuno GPS equipment.

October 6, 2018

October 21, 2018

GPS Week Number reached 1,000

March 17, 2019

Sunday March 17 is beginning of GPS week 1021

3 weeks before next GPS week rollover

Rollover date for various Furuno GPS equipment.

April 6, 2019

Last day before GPS rollover

April 7, 2019

Sunday April 7 is beginning of GPS week 0

April 30, 2019

November 3, 2019

Sunday November 3 is beginning of GPS week 30

End of 2019

ISO week vs. Gregorian week

January 1, 2020

Y2K20

February 29, 2020

2020 leap day bugs

December 20, 2020

Sunday December 20 is beginning of GPS week 89

Rollover date for various Furuno GPS equipment.

2021

June 20, 2021

Sunday June 20 is beginning of GPS week 115

Rollover date for various Furuno GPS equipment.

October 23, 2021

January 2, 2022

Sunday January 2 is beginning of GPS week 143

Rollover date for various Furuno GPS equipment.

March 17, 2022

In[163]:= 
DatePlus[{2022, 3, 17, 2, 20, 48}, {500000000, "Second"}] == 
 DatePlus[{1970, 1, 1}, {2^31, "Second"}]

Out[163]= True

May 15 2022

Sun May 15 is beginning of GPS week 162

September 18 2022

Sun September 18 is beginning of GPS week 180

Rollover date for various Furuno GPS equipment.

March ?, 2023

Raystar 125

2024

February 29, 2024

Leap day

Payment card readers at petrol pumps in New Zealand were unable to handle the leap year and were unable to properly dispense gasoline.[41] https://www.reuters.com/world/asia-pacific/leap-year-glitch-shuts-some-new-zealand-fuel-pumps-2024-02-29/

Video games EA Sports WRC and Theatrhythm Final Bar Line also suffered issues related to the leap year, with the former crashing when trying to load the game and the latter claiming that the save data was corrupted. Both games had to be set to the following day of March 1, 2024 to properly work.[42][43][44]

https://kotaku.com/final-fantasy-theatrhythm-broken-wrc-leap-day-bug-ps4-1851298039

https://www.ign.com/articles/theatrhythm-final-fantasy-on-nintendo-switch-doesnt-work-today-feb-29-seemingly-because-its-a-leap-year

https://www.ign.com/articles/ea-sports-wrc-crashing-on-start-up-today-feb-29-because-2024s-a-leap-year

March 24, 2024

Sunday March 24 is beginning of GPS week 259

Rollover date for various Furuno GPS equipment.

December 13, 2024

In December 2024, a 30 year old bug was found in all versions of HCL Notes. When the server is started on or after December 13 2024, an overflow will prevent the mail router to load its configuration, and so no mail is delivered. Patches were released on the next day for all supported versions.

The date/time issue made the TimeDateDifference() internal call return incorrect results under certain conditions, and dates back to the core Notes program in 1986.

December 31, 2024

Last day in leap year

2025

In Japan, some older computer systems using the Japanese calendar that have not been updated still count years according to the Shōwa era. The year 2025 corresponds in those systems to Shōwa 100, which can cause problems if the software assumes two digits for the year.[46]

January 1 2025

First day in year

In Spain, all Talgo AVRIL class trains stopped operating on January 1, 2025 due to a date handling bug in the battery charging module, causing delays and cancellations as passengers were relocated in other rolling stock.[47][48] A bugfix was deployed by the next day, recovering regular service.[49]

2028

2032

February 7, 2036

January 1 1900 + 2^32 Second == February 7 2036

January 19, 2038

Year 2038 Problem

With 32 bit signed integers, Unix time will overflow on: 03:14:08 UTC January 19, 2038

November 20, 2038

GPS Week rollover

February 6, 2040

old macintosh calendar expires

September 18, 2042

2043

Microsoft Exchange update format

changing to unsigned long

January 19, 2048

2069

December 30, 2078

2079

2080

2100

2106

unsigned 32-bit count of seconds (also) since 1970

With 2^5 = 32 bit unsigned integers, Unix time will overflow on: 06:28:16 UTC February 07, 2106

2108

2137

GPS 13-bit week rollover

November 4, 2153

March 16, 2157

// Seconds field overflowed the 33 bits available when // storing a monotonic time. This will be true after // March 16, 2157.

2232

2262

April 4, 2262

2262-04-11 23:47:16 UTC is when a system with a signed 64 bit number to store Unix time shifted left with nanoseconds added to it runs out of time.

2286

July 21, 2554

2554-07-21 23:34:33 UTC is when the same scheme but with an unsigned 64 bit number runs out of time.

3268

The next Julian Period begins in the year 3268 AD.

July 8, 3409

Since a UUID is a fixed size and contains a time field, it is possible for values to rollover (around A.D. 3400, depending on the specific algorithm used).

Assuming signed 60-bit storage:

In[45]:= DatePlus[{1582, 10, 15, 0, 0, 0}, {Floor[16^^7ffffffffffffff/10000000], "Second"}]

Out[45]= {3409, 7, 8, 22, 40, 30}

3603

The rollover time as defined by ITU-T Rec. X.667 is 3603 AD.

Note that there is nothing special about the year 3603. Using increments of 100 nanoseconds from October 15, 1582, the rollover will occur on July 8, 3409 for signed 60-bit storage or Mar 31, 5236 for unsigned 60-bit storage.

My working theory is that the document used the “period of approximately 1600 years” and added that to the year that the document was authored (2003) to obtain the year 3603.

Sources that state the rollover will happen in 3603 are incorrect.

4000

4147

4501

Mar 31, 5236

However some software, such as the libuuid library, treats the timestamp as unsigned, putting the rollover time in 5623 AD.

Wikipedia says rollover happens on 5623, but this is incorrect.

An edit made in 2023 incorrectly changed the article from saying 5236 to saying 5623 with the comment “Corrects rollover date when 60-bit timestamp is treated as an unsigned integer. Previous value appears to have been a typo.”

The correct date is easily verified to be 5236.

In[53]:= DatePlus[{1582, 10, 15, 0, 0, 0}, {Floor[2^60/10000000], "Second"}]

Out[53]= {5236, 3, 31, 21, 21, 0}