1. Re: questions from a newbie (Y2.036K bug =)
- Posted by Greg Phillips <i.shoot at REDNECKS.COM> Jan 03, 1999
- 344 views
> One last note is that some of the timing routines in > Windows are rumored to start over around the year 2037. > Instead of returning the number of seconds since a given > year in the past it will start returning the number of > seconds since 2037. This is because of the max integer count > capability using 4 bytes. > > so far, this bug only faces C and C++ programmers. It stems from the common definition of the time_t as an integer containing the number of seconds since midnight, January 1, 1970. Most C/C++ runtime libs define time_t as a long int. On most systems, long int is 32 bits, which means there's a range of 2^31-1 (2,147,483,647) seconds - until sometime on January 18, 2038. Since the number is signed, when the clock rolls over the time will be a very large negative number, giving us a time warp of a little over 136 years, which means it's back to late December, 1901. Anything that uses time_t is affected, including the MFC CTime class. So, if your C program deals with dates after 1/18/2038, you're in trouble. If not, there's nothing to worry about =) Greg -- Greg Phillips i.shoot at rednecks.com http://euphoria.server101.com -- Useless fact of the day: The only 15-letter word that can be spelled without repeating a letter is uncopyrightable