82.250.83.207 (talk) Major rewrite, wikified, sources checked |
expanded paragraph on calendar epoch date |
||
Line 1: | Line 1: | ||
:''This article is about chronology and computing. For other uses, see [[epoch]].'' |
:''This article is about chronology and computing. For other uses, see [[epoch]].'' |
||
In [[chronology]], an '''epoch date''' is an instant in history chosen as the [[wiktionary:epoch|reference date]] from which [[time]] is measured. |
In [[chronology]], an '''epoch date''' is an instant in history chosen as the [[wiktionary:epoch|reference date]] from which [[time]] is measured. Each [[calendar era]] has an epoch date, which is often chosen to commemorate an important historical or mythological event. For example, the current calendar of the western world has an '''epoch date''' based on the traditionally-reckoned year of the birth of [[Jesus]]. Thus, the first second of January 1, 2006 [[Anno Domini|A.D.]] should be exactly 2005 years since the epoch date (quirks in the development of the modern calendar make this techically incorrect). |
||
In [[computer]]s, time is often expressed as the number of seconds since midnight, [[Universal Time]], on a conventional epoch date defined by the [[operating system]]. Famous epoch dates include: |
In [[computer]]s, time is often expressed as the number of seconds since midnight, [[Universal Time]], on a conventional epoch date defined by the [[operating system]]. Famous epoch dates include: |
Revision as of 15:47, 1 January 2006
- This article is about chronology and computing. For other uses, see epoch.
In chronology, an epoch date is an instant in history chosen as the reference date from which time is measured. Each calendar era has an epoch date, which is often chosen to commemorate an important historical or mythological event. For example, the current calendar of the western world has an epoch date based on the traditionally-reckoned year of the birth of Jesus. Thus, the first second of January 1, 2006 A.D. should be exactly 2005 years since the epoch date (quirks in the development of the modern calendar make this techically incorrect).
In computers, time is often expressed as the number of seconds since midnight, Universal Time, on a conventional epoch date defined by the operating system. Famous epoch dates include:
- for Unix, January 1, 1970 (see also Unix time).
- for the Internet's Network Time Protocol, January 1, 1900.
- for Windows' Win32 FILETIME, January 1, 1601 (with 100-nanosecond ticks).
- for VMS, November 17, 1858, which is the base date of the Modified Julian Day used in the celestial ephemerides by the United States Naval Observatory and other agencies.
- on Macintosh computers, the epoch date was January 1, 1904 until Mac OS release 9. Mac OS X switched to the Unix epoch.
System time is measured in seconds or ticks past the epoch. Unspecified problems may occur when the clock wraps around, which is not necessarily a rare event; on systems counting 10 ticks per second, a signed 32-bit count of ticks allows for only 6.8 years of accurate timekeeping. The 1-tick-per-second clock of UNIX will overflow on January 19, 2038, assuming at least some software continues to consider it signed and that word lengths don't increase by then. NTP's authors acknowledge that the protocol's ultra-precise 64-bit timestamps will roll over on February 6, 2036 and advise that:
Should NTP be in use in 2036, some external means will be necessary to qualify time relative to 1900 and time relative to 2036 (and other multiples of 136 years). (quoted from RFC1305)
The evolving definition of official time over history introduces more subtle problems for computer-based linear representations. Leap years and the Gregorian calendar are generally taken into account, but leap seconds are more challenging due to their non-linear rate of past occurrences and the impossibility to predict their future occurrences. These complications are discussed at length in the Unix time article.