Decimal Time
Home
Time of Day
Dates
Fractional Days
Decimal Numbers
History
Time Zones
Proposals
Metric Time
Stardates
Calendars
Conversions
Clocks
Links
Board xml
Chat
Computer Time
Glossary
Contact
About

Current
Decimal
Time:

Decimal Time - Computers

Platform Epoch
Unix 1970-01-01
IBM 1900-01-01
Macintosh 1904-01-01
Windows/32 1601-01-01
DOS 1980-01-01
Excel/PC 1899-12-31
COBOL/ANSI 1601-01-01
COBOL/Lilian 1582-10-15
OpenVMS Alpha 1858-11-17

Unix Time

The Unix operating system, and many other operating systems and programming languages, keep a count of (non-leap) seconds since January 1, 1970, 00:00:00 UTC. Time before this is represented as a negative number. It is often divided into milliseconds and even microseconds. Originally the data space only allowed Unix times up to the year 2038, but newer implementations do not have this limitation. Unix times have been greater than 1,000,000,000 seconds since 2001. Unix time, by itself, does not qualify as either a date or time of day, because it neither counts days, nor repeats them, but rather is intended to be used to convert back and forth between different date/time formats

top

IBM Time

IBM 360 computers count seconds since 1900-01-01.

top

Macintosh Time

Apple Macintosh computers count the number of seconds since 1904-01-01, 00:00:00 UTC.

top

Windows Time

32-bit versions of the Microsoft Windows operating system count units of one hundred nanoseconds from 1601-01-01, 00:00:00 UTC. This epoch is the beginning of the last 400-year cycle by which leap-years are calculated in the Gregorian calendar, which was followed by a new 400-year cycle beginning with 2001.

Previous versions of Windows used the DOS clock, which had two seperate counters, one which counted days since 1980-01-01, and another which counted seconds since local midnight.

top

Excel Serial Dates

Microsoft Excel is a spreadsheet program which uses a "serial value" count of days to store both dates and time of day. Excel supports two different epochs. The 1900 date format, inherited from Lotus 1-2-3 and used by default in Excel for Windows, represents serial day 1 as January 1, 1900. Excel for Macintosh uses the epoch of the Apple Macintosh's clock, January 1, 1904, as serial day 0. Either epoch may be selected in the program options. Days always start at midnight, local civil time, including when Daylight Saving Time is in effect.

Due to the fact that the year was erroneously assumed to be a leap year when Lotus 1-2-3 was created, serial day 60 is represented as March 1, 1900, even though it was the 59th day of that year, and serial day 59 as February 29, 1900, even there there was no such date on the Gregorian calendar. Serial day 0 is represented as January 0, 1900, which would correspond to December 31, 1899, but if counted backwards from any date after February, 1900, and not counting the leap day, serial day 0 would actually be December 30, 1899, serial day 1 would be December 31, etc.

Functions within the program convert time/date strings to serial values. DATEVALUE() takes any date or date/time string and returns the serial day integer, and TIMEVALUE() takes a time or date/time string and returns the fractional day. Functions YEAR(), MONTH(), DAY(), WEEKDAY(), HOUR(), MINUTE() and SECOND() take a serial value as an argument and return the specified date/time element. NOW() returns the current serial date, including both the integral and fractional parts, while TODAY() returns only the serial day integer. Cells containing serial dates may be viewed as either a serial number, such as 38251.924194, or as a standard date/time string by changing the cell format.

top

COBOL

Originally, the COBOL programming language did not come with built-in time and date functions. However, since Y2K new functions have been introduced using integer dates, although with two different epochs. ANSI dates use 1601-01-01 as day 1. Lilian dates use 1582-10-15 as day 1.

top

OpenVMS

The OpenVMS Alpha operating system counts intervals of 100 nanoseconds since the Modified Julian Day epoch, 1858-11-17, 00:00:00.00 UTC. However, it is only incremented every 10 milliseconds, 100,000 intervals (10,000,000 ns) at a time. OpenVMS VAX (formerly VAX/VMS) uses the beginning of the current year as the epoch.

top

Decimal Time web site copyright © 2001- John D. Hynes. All rights reserved. Contact me

Decimal Time logo by Henning Strandin