March 12th, 2010

Why does the OLE variant date format use 30 December 1899 as its zero point?

In 2006, via the suggestion box, Chris J asks why the OLE variant date format has such a strange zero point. Its zero point is 30 December 1899, as opposed to 1 January 1900 (SQL Server’s zero point) or 1 January 1970 (the unix zero point).

It turns out I don’t have to answer this because Eric Lippert explained it three years before the question was posted, and then some time later posted a puzzle regarding date calculations.

Public Service Announcement: This weekend marks the start of Daylight Saving Time in most of the United States.

Author

Raymond has been involved in the evolution of Windows for more than 30 years. In 2003, he began a Web site known as The Old New Thing which has grown in popularity far beyond his wildest imagination, a development which still gives him the heebie-jeebies. The Web site spawned a book, coincidentally also titled The Old New Thing (Addison Wesley 2007). He occasionally appears on the Windows Dev Docs Twitter account to tell stories which convey no useful information.

0 comments

Discussion are closed.