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-01-24 T06h28m50s UTC
Unix time : 1 611 469 730
Unix time (base 2, 32-bit) : 0110 0000 0000 1101 0001 0011 1010 0010
Unix time (base 2, 64-bit) : 0000 0000 0000 0000 0000 0000 0000 0000 0110 0000 0000 1101 0001 0011 1010 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, 11 months, 25 days, 20 hours, 45 minutes, 16 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 :

58 years, 4 months, 12 days, 17 hours, 31 minutes, 9 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.