In short, Yes and yes; both 32 bit and 64 bit Windows will be affected (the current version, that is).
You can test it yourself with the following Perl script:
Code:
#!/usr/bin/perl
# Use POSIX (Portable Operating System Interface) use POSIX;
# Set the Time Zone to GMT (Greenwich Mean Time) for
date calculations.
$ENV{'TZ'} = "GMT";
# Count up in seconds of Epoch time just before and
after the critical event.
for ($clock = 2147483641; $clock < 2147483651;
$clock++)
{
print ctime($clock);
}
For the technical explanation:
Time_t is a data type used by programs like
C and
C++ to represent dates internally. And 32 bit Windows stores a
signed integer data type, such as time_t, in 32 bits. The first of these bits is used for the positive/negative sign of the integer, while the remaining 31 bits are used to store the number itself. The highest number these 31 data bits can store works out to exactly 2.147.483.647. A time_t value of this exact number represents January 19, 2038, at 7 seconds past 3:14 AM Greenwich Mean Time.
And then, basically, every single 32 bit C and C++ program will reach it's limit. So naturally 32 bit Windows will be affected. And since a lot of the programs on 64 bit Windows are based on 32 bit Windows, it's only logical to assume that 64 bit Windows will also be affected.
What'll happen is that within a second
every single device on earth which is affected by this will shift from January 19th 2038, to December 13th 1901.
Nommy