What is it:
Y2K38 is a bug that will affect C Language, PHP and many other languages and systems which uses signed 32-bit integer to represent the date and time. This bug is often denoted as Y2038, Y2K38, Y2.038K, or Unix Millennium Bug.
In Brief:
The standard 4-byte (32-bit) format assumes that the beginning of date and time is January 1, 1970, at 12:00:00 a.m. Here the value is 0. Any time/date value is expressed as the number of seconds following that zero value. So the value 919642718 is to refer February 21, 1999, at 16:18:38 Pacific time. This is a convenient format because if you subtract any two values, what you get is a number of seconds that is the time difference between them. Then you can use other functions in the library to determine how many minutes/hours/days/months/years have passed between the two times.
You may know that a signed 4-byte integer has a maximum value of 2,147,483,647, which translates into January 19, 2038. This is where the Year 2038 problem starts. After this date, any C programs that use the standard time library will start to have problems with date calculations. That means program will hold some negative values for seconds and it will result in abnormal dates. The following figure will clearly explain this. (Just click the image once.)
Wanna test this?First sign out from yahoo messenger or gmail talk.
>Open your System Date and Time Settings.
>Change the year to anything beyond 2038. (Just set it to 2040)
>Now try logging in to any of the messenger.
It does not log in and gives you some error. Surprised!!!
In some Mac system you even cannot set the time beyond January 2038.
Note : If you are using a 64-bit OS with a compiled 64-bit edition of software, your application wont't be affected by Y2K38 problem. A signed 64-bit number gives a maximum future date which is 21 times greater than the current age of the universe.
Read Other Parts Of This Post :
Y2K38 Unix Millennium Bug : Introduction, How To Check This Bug, Solution
Y2K38 Unix Millennium Bug : Introduction, How To Check This Bug, Solution

No comments:
Post a Comment