Telling the time is something may of us learn when we are very small children. Knowing what time it is is an essential part of our society and we couldn’t function without it. Just imagine if we didn’t tell the time – when would you go to work? When would you leave and how would it be possible to meet other people or arrange any kind of function.
While telling the time is crucial to us, it is even more vital for computers who use time as the only point of reference and amongst computer networks time synchronisation is vital. Without recording the passing of time, computers couldn’t function as there would be no reference to order programs and functions.
But the way computers tell the time and date is far different to the way we record it. Rather than record a separate time, date and year – computer systems use a single number. This number is based on the number of seconds from a set point in time – known as the prime epoch.
When this epoch is, depends on the operating system or programming language in question. For instance, Unix systems have a prime epoch which starts at 1 January 1970 and the number of seconds from the epoch are counted in a 32 bit integer. Other operating systems, such as Windows, use a similar system but the epoch is different (Windows starts on 1 January 1601).
There are, however, disadvantages to this integer system. For instance as the Unix system is a 32-bit integer which started in 01 Jan 1970, by 19 January 2038 the integer will have exhausted every possible number and will have to return to zero’s. This could cause problems with systems reliant on Unix in a problem reminiscent of the Millennium bug.
There are other issues involving computer time also. Because of the global requirements of the Internet all computer time is now based on UTC (Coordinated Universal Time). However, UTC is altered on occasion by adding Leap Seconds to ensure the time matches the rotation of the Earth (the Earth’s rotation is never exact due to gravitational forces) so leap second handling has to be encompassed into a computer time systems.