Links

This page provides some interesting Y2038-related external links.  Please use our contact form to let us know if you find any broken links, or if you would like to recommend additional links.

Wikipedia entry on ‘The Y2038 Problem’ – a very good overview of the Y2038 issue

Wikipedia entry on ‘Year 2000 problem’ – details about the Y2K issue

Wikipedia entry on ‘Dennis Ritchie’ – Dennis Ritchie was the creator of the “C” language and a key developer of the UNIX operating system at AT&T.  Mr. Ritchie passed away on Oct 12, 2011.

Dennis Ritchie’s home page at Bell Labs – This link is a treasure of information about Mr. Ritchie and his accomplishments.

Unix Programmer’s Manual – (by Mr. Ritchie, first edition, November 3, 1971).  This is linked within Mr. Ritchie’s home page above.  Quoting from this manual:
We even anticipated the millenium bug: time was measured in sixtieths of a second since 1 Jan. 1971 as a 32 bit quantity. The BUGS section for time(II) remarks, “The cronological-minded reader will note that 2**32 sixtieths of a second is only about 2.5 years.” Later, this was patched more than once by declaring a new epoch, then again in 1973 by making the units full seconds dating from the 1970 New Year–this is the “classical” Unix epoch. Of course, it only pushed the issue off to 2038. …

c-client date issues – A discussion of the date problems that affect one particular library. Many other libraries/programs likely have similar issues, but not many are documented.

Discussion of Linux Y2038 issues – By Christopher Browne at acm.org

github project that may help – This is an MIT-licensed open source project by Michael Schwern to help address the Y2038 issue.  We haven’t reviewed this project, but we plan to review it.

2038bug.com – A like-minded Y2038-related website by Paul Sheer. There is a gmtime() replacement function available at the website (which we also plan to review).

kernelnewbies.org/y2038 – List of file system types and date issues (ext2/ext3/ext4 and others have Y2038 issues according to this link, and others have Y2106 issues due to 32-bit unsigned rollover)

The Windows Timestamp Project – This link provides an in-depth discussion on Windows time-related APIs. It also offers a library with additional functionality.  (We plan to review this library).

Time, Clock, and Calendar Programming in C – This link covers functions and best practices of time-related functionality, mostly on Linux and UNIX-like OSes.

The Y10K Wiki Page – Y10K refers to the date rollover from the year 9999 to 10000.

RFC 2550 – A humorous RFC on a proposed solution to Y10K and other rollover issues, pretty much out to the end of time. Note the publish date was April 1, 1999.

IBM z/Architecture Principles of Operation – This document is for IBM mainframes, and has a section on pgs 164-168 describing the Time Of Day (TOD) clock register. This register contains a field with microseconds since Jan 1, 1900 and will roll over on Sept 17, 2042. This is the origin and cause of the Y2042 issue from a hardware perspective.