Re: Seriously?
> [ ... ] they're trying to encode a character based representation into a numeric variable [ ... ]
That's not what's going on here.
It's pure stupidity on the part of the implementor - namely Microsoft.
They decided to use a signed
32-bit integer instead of an unsigned
64-bit integer to represent a date - namely the type time_t
.
Maximum possible value of a 32-bit signed integer
: 2,147,483,647. Evidently, 2,201,010,001 won't fit, so it overflows.
Maximum possible value of a 64-bit unsigned integer
: 18,446,744,073,709,551,615.
If they changed signed
to unsigned
but kept the 32-bit integer size in their patch - which is very likely, given Microsoft's legendary QOI - they're going to run into the time_t
problem in 2038.
They only had 22 years to think about this, so we gotta cut them some slack.
Congrats to Microsoft for making everyone re-live the party atmosphere of 12/31/1999. Cue mandatory Prince song here.