In computer science, data type limitations and software bugs can cause errors in time and date calculation or display.
[7] Multiple Sierra Entertainment games released for the Classic Mac OS started to freeze when running on 18 September 1993.
Mac SCI would attempt to use the date to determine how long a delay should last by getting the current time in seconds since 1 January 1904, the Macintosh epoch (see: § Year 2040), and dividing by 12 hours.
[8][9] 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.
Windows Mobile was the first software reported to have been affected by this glitch; in some cases WM6 changed the date of any incoming SMS message sent after 1 January 2010, from the year 2010 to 2016.
[19] Sony's PlayStation 3 incorrectly treated 2010 as a leap year, so the non-existent 29 February 2010, was shown on 1 March 2010, causing a program error.
[5][20] The most important such glitch occurred in Germany, where upwards of 20 million bank cards became unusable, and with Citibank Belgium, whose digipass customer identification chips stopped working.
The Deep Impact space probe lost communication with Earth on 11 August 2013, because of a time-tagging problem; the date was stored as an unsigned 32-bit integer counting the number of tenth-seconds since 1 January 2000.
The video games WWE 2K20 and Star Wars Jedi: Fallen Order both crashed on 1 January 2020, when the year rolled over.
[26] Parkeon parking meters in New York City and other locations were unable to accept credit cards as a form of payment starting in 2020.
[29] Suunto sport smart watches displayed an error in computing weekdays that were presented with a +2 step (e.g. FRI rather than WED, SAT rather than THU).
[33] Samsung users reported that phones running on the One UI 3.0 update or Android 11 lost access to the battery and charging statistics starting in 2021.
[46][needs update] 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.
[49] Some systems store their year as a single-byte offset from 1900, which gives a range of 255 (8 bits) and allows dates up to 2155 to be safely represented.
The Identity Console component sets a cookie containing UI preferences with an expiry of 500,000,000 seconds in the future (approximately 16 years).
This is beyond 19 January 2038 and so it throws an exception for certain search activities after 02:20:48 UTC on 17 March 2022 because the gmtime_r() call cannot convert the number provided to a date to write to the cookie.
All Apple Mac computers store time in their real-time clocks (RTCs) and HFS filesystems as an unsigned 32-bit number of seconds since 00:00:00 on 1 January 1904.
[60] On 18 September 2042, the Time of Day Clock (TODC) on the S/370 IBM mainframe and its successors, including the current zSeries, will roll over.
[61] The TODC value is accessible to user mode programs and is often used for timing and for generating unique IDs for events.
[citation needed] Systems storing the year as a two-digit value 00..99 internally only, like many RTCs, may roll over from 31 December 2079, to the IBM PC and DOS epoch of 1980-01-01.
[5] This storage representation problem is independent of programs that internally store and operate on system times as 64-bit signed integer values.
The date timestamps stored in FAT filesystems, originally introduced with 86-DOS 0.42 in 1981 and carried over into MS-DOS, PC DOS, DR-DOS etc., will overflow at the end of 31 December 2107.
[66] Other examples include the Timestamp object in Python pandas,[67] the chrono class in C++ when set to nanosecond precision,[68] and the QEMU timers.
This is because the Earth's speed of rotation is gradually slowing down, which makes each day slightly longer over time (see tidal acceleration and leap second) while the year maintains a more uniform duration.
[5][82] Timekeeping structures in many of Microsoft's applications and services have 100-nanosecond resolution, such as Power Automate's TIME data type[83] and the TimeSpan parameter in various Windows PowerShell commands,[84] and these will all face similar issues.
[85] Similarly, in the Windows operating systems, the FILETIME structure stores the number of 100-nanosecond ticks since 1 January 1601 as a signed 64-bit integer.
This value will overflow on 14 September 30,828 at 02:48:05 UTC, after which Windows will not accept dates beyond this day and will display "invalid system time" errors in NTFS.
[93] Until version 6.0, Microsoft's .NET platform had a bug that caused threadpool hill-climbing[clarification needed] to fail periodically after 49.7 days due to an overflow while handling milliseconds since startup.
[95][96] In 2020, the Federal Aviation Administration issued an airworthiness directive requiring 787 operators to power their aircraft down completely before reaching 51 days of uptime, since otherwise systems will begin to display misleading data.
By default, this is the only timing source available in the platform and programs need to take special care to handle rollovers.