Time formatting and storage bugs

http://en.wikipedia.org/wiki/Time_formatting_and_storage_bugs

Current date/time (also last page load/refresh) :

Gregorian date : (0000)2021-09-24 T03h35m14s UTC
Unix time : 1 632 454 514
Unix time (base 2, 32-bit) : 0110 0001 0100 1101 0100 0111 0111 0010
Unix time (base 2, 64-bit) : 0000 0000 0000 0000 0000 0000 0000 0000 0110 0001 0100 1101 0100 0111 0111 0010

2038

Issue : System time is stored as a 32-bit signed integer and will therefore roll over at the target date below.

Target date/time in 2038 :

Gregorian date : (0000)2038-01-19 T03h14m07s UTC
Unix time : 2 147 483 647
Unix time (base 2, 32-bit) : 0111 1111 1111 1111 1111 1111 1111 1111
Unix time (base 2, 64-bit) : 0000 0000 0000 0000 0000 0000 0000 0000 0111 1111 1111 1111 1111 1111 1111 1111

Time to year 2038 :

16 years, 3 months, 25 days, 23 hours, 38 minutes, 52 seconds.

Critical point beyond the target date/time in 2038 :

Gregorian date : (0000)2038-01-19 T03h14m08s UTC
Unix time : 2 147 483 648
Unix time (base 2, 32-bit) : [error]
Unix time (base 2, 64-bit) : 0000 0000 0000 0000 0000 0000 0000 0000 1000 0000 0000 0000 0000 0000 0000 0000

2079

Issue : Programmes that store dates as a number of days since an arbitrary date will roll over in 2079 (for a given starting year of 1900).

Target date/time in 2079 :

Gregorian date : (0000)2079-06-05 T00h00m00s UTC
Unix time : 3 453 148 800
Unix time (base 2, 32-bit) : [error]
Unix time (base 2, 64-bit) : 0000 0000 0000 0000 0000 0000 0000 0000 1100 1101 1101 0010 1101 1110 1000 0000

Time to year 2079 :

57 years, 8 months, 12 days, 20 hours, 24 minutes, 45 seconds.

Critical point beyond the target date/time in 2079 :

Gregorian date : (0000)2079-06-06 T00h00m00s UTC
Unix time : 3 453 235 200
Unix time (base 2, 32-bit) : [error]
Unix time (base 2, 64-bit) : 0000 0000 0000 0000 0000 0000 0000 0000 1100 1101 1101 0100 0011 0000 0000 0000

I don’t think it’s even worth developping 128-bit operating systems—they should skip straight to 256-bit.