Happy 1,234,567,890 seconds since 1/1/1970


Well there’s a thing. CNET reported that today officially marks the 1.2-odd billion seconds past the beginning of 1970, a standard that’s used in UNIX (and by the C programming language) as the basis for all time measurements. If you’re reading this before 23:31:30 on Friday 13/2/09 then you can see the countdown clock on http://coolepochcountdown.com/. Who knows what will happen after?

Actually, let’s hope they figure out how to patch all Unix (or 32-bit C) systems before 03:14:08 19th January 2038, otherwise we could all be in big trouble. Unix time is typically represented by a signed 32-bit integer (so has 2^31 positive values, ergo 2,147,483,648), and maybe we’ll be dealing with Y2k38 or something like that.

Apparently there was some debate about whether to use a signed or unsigned integer here – Dennis Ritchie (inventor of C and co-creator of Unix) figured it would be quite nice to numerically represent all the days he would live (since he was born in 1941, and if they’d used an unsigned integer, then time would have started in 1970 …)

Fortunately, modern Windows systems aren’t quite so dependent on this time code, though it is still heavily used. If you’re really interested in this field, there’s a comprehensive post on the oldnewthing MSDN blog. Turns out the Common Language Runtime (bedrock of .NET development) counts in 100-nanosecond intervals since the 1st of January “0001”.


Leave a Reply

Your email address will not be published. Required fields are marked *