Epoch of 1980-01-01
   HOME

TheInfoList



OR:

In computing, an epoch is a date and time from which a computer measures
system time In computer science and computer programming, system time represents a computer system's notion of the passage of time. In this sense, ''time'' also includes the passing of days on the calendar. System time is measured by a ''system clock'', w ...
. Most computer systems determine time as a number representing the seconds removed from particular arbitrary date and time. For instance,
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, ...
and
POSIX The Portable Operating System Interface (POSIX) is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines both the system- and user-level application programming in ...
measure time as the number of seconds that have passed since Thursday 1 January 1970 00:00:00 UT, a point in time known as the
Unix epoch Current Unix time () Unix time is a date and time representation widely used in computing. It measures time by the number of seconds that have elapsed since 00:00:00 UTC on 1 January 1970, the beginning of the Unix epoch, less adjustments m ...
.
Windows NT Windows NT is a proprietary graphical operating system produced by Microsoft, the first version of which was released on July 27, 1993. It is a processor-independent, multiprocessing and multi-user operating system. The first version of Win ...
systems, up to and including
Windows 11 Windows 11 is the latest major release of Microsoft's Windows NT operating system, released in October 2021. It is a free upgrade to its predecessor, Windows 10 (2015), and is available for any Windows 10 devices that meet the new Windows 11 ...
and
Windows Server 2022 Windows Server 2022 or Windows Server 2022 Edition is the tenth and latest major long term servicing channel (LTSC) release of the Windows Server operating system by Microsoft, as part of the Windows NT family of operating systems. It was anno ...
, measure time as the number of 100-nanosecond intervals that have passed since 1 January 1601 00:00:00 UTC, making that point in time the epoch for those systems. Computing epochs are nearly always specified as midnight
Universal Time Universal Time (UT or UT1) is a time standard based on Earth's rotation. While originally it was mean solar time at 0° longitude, precise measurements of the Sun are difficult. Therefore, UT1 is computed from a measure of the Earth's angle wit ...
on some particular date.


Variation in detail

Software timekeeping systems vary widely in the precision of time measurement (granularity); some systems may use time units as large as a day, while others may use
nanosecond A nanosecond (ns) is a unit of time in the International System of Units (SI) equal to one billionth of a second, that is, of a second, or 10 seconds. The term combines the SI prefix ''nano-'' indicating a 1 billionth submultiple of an SI unit ( ...
s. For example, for an epoch date of midnight UTC (00:00) on 1 January 1900, and a time unit of a second, the time of the midnight (24:00) between 1 January 1900 and 2 January 1900 is represented by the number 86400, the number of seconds in one day. When times prior to the epoch need to be represented, it is common to use the same system, but with negative numbers. Such representation of time is mainly for internal use. On systems where date and time are important in the human sense, software will nearly always convert this internal number into a date and time representing a human calendar.


Problems with epoch-based computer time representation

Computers do not generally store arbitrarily large numbers. Instead, each number stored by a computer is allotted a fixed amount of space. Therefore, when the number of time units that have elapsed since a system's epoch exceeds the largest number that can fit in the space allotted to the time representation, the time representation overflows, and problems can occur. While a system's behavior after overflow occurs is not necessarily predictable, in most systems the number representing the time will reset to zero, and the computer system will think that the current time is the epoch time again. Most famously, older systems which counted time as the number of years elapsed since the epoch of 1 January 1900 and which only allotted enough space to store the numbers 0 through 99, experienced the
Year 2000 problem The year 2000 problem, also known as the Y2K problem, Y2K scare, millennium bug, Y2K bug, Y2K glitch, Y2K error, or simply Y2K refers to potential computer errors related to the formatting and storage of calendar data for dates in and after ...
. These systems (if not corrected beforehand) would interpret the date 1 January 2000 as 1 January 1900, leading to unpredictable errors at the beginning of the year 2000. Even systems which allocate more storage to the time representation are not immune from this kind of error. Many
Unix-like A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
s which keep time as seconds elapsed from the epoch date of 1 January 1970, and allot timekeeping enough storage to store numbers as large as will experience an overflow problem on 19 January 2038 if not fixed beforehand. This is known as the
Year 2038 problem The year 2038 problem (also known as Y2038, Y2K38, or the Epochalypse) is a time formatting bug in computer systems with representing times after 03:14:07 UTC on 19 January 2038. The problem exists in systems which measure Unix time ...
. A correction involving doubling the storage allocated to timekeeping on these systems will allow them to represent dates more than 290 billion years into the future. Other more subtle timekeeping problems exist in computing, such as accounting for
leap second A leap second is a one- second adjustment that is occasionally applied to Coordinated Universal Time (UTC), to accommodate the difference between precise time ( International Atomic Time (TAI), as measured by atomic clocks) and imprecise obser ...
s, which are not observed with any predictability or regularity. Additionally, applications which need to represent historical dates and times (for example, representing a date prior to the switch from the
Julian calendar The Julian calendar, proposed by Roman consul Julius Caesar in 46 BC, was a reform of the Roman calendar. It took effect on , by edict. It was designed with the aid of Greek mathematicians and astronomers such as Sosigenes of Alexandri ...
to the
Gregorian calendar The Gregorian calendar is the calendar used in most parts of the world. It was introduced in October 1582 by Pope Gregory XIII as a modification of, and replacement for, the Julian calendar. The principal change was to space leap years d ...
) must use specialized timekeeping
libraries A library is a collection of Document, materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or electronic media, digital access (soft copies) materials, and may be a ...
. Finally, some software must maintain compatibility with older software that does not keep time in strict accordance with traditional timekeeping systems. For example,
Microsoft Excel Microsoft Excel is a spreadsheet developed by Microsoft for Microsoft Windows, Windows, macOS, Android (operating system), Android and iOS. It features calculation or computation capabilities, graphing tools, pivot tables, and a macro (comp ...
observes the fictional date of 29 February 1900 in order to maintain
bug compatibility Computer hardware or software is said to be bug compatible if it exactly replicates even an undesirable feature of a previous version. The phrase is found in the Jargon File. An aspect of maintaining backward compatibility with an older system i ...
with older versions of
Lotus 1-2-3 Lotus 1-2-3 is a discontinued spreadsheet program from Lotus Software (later part of IBM). It was the first killer application of the IBM PC, was hugely popular in the 1980s, and significantly contributed to the success of IBM PC-compatibles i ...
. Lotus 1-2-3 observed the date due to an error; by the time the error was discovered, it was too late to fix it—"a change now would disrupt formulas which were written to accommodate this anomaly".


Epoch in satellite-based time systems

There are at least six
satellite navigation A satellite navigation or satnav system is a system that uses satellites to provide autonomous geo-spatial positioning. It allows satellite navigation devices to determine their location ( longitude, latitude, and altitude/ elevation) to hig ...
systems, all of which function by transmitting
time signal A time signal is a visible, audible, mechanical, or electronic signal used as a reference to determine the time of day. Church bells or voices announcing hours of prayer gave way to automatically operated chimes on public clocks; however, a ...
s. Of the only two satellite systems with global coverage, GPS calculates its time signal from an epoch, whereas
GLONASS GLONASS (russian: ГЛОНАСС, label=none, ; rus, links=no, Глобальная навигационная спутниковая система, r=Global'naya Navigatsionnaya Sputnikovaya Sistema, t=Global Navigation Satellite System) is ...
calculates time as an offset from UTC, with the UTC input adjusted for leap seconds. Of the only two other systems aiming for global coverage,
Galileo Galileo di Vincenzo Bonaiuti de' Galilei (15 February 1564 – 8 January 1642) was an Italian astronomer, physicist and engineer, sometimes described as a polymath. Commonly referred to as Galileo, his name was pronounced (, ). He was ...
calculates from an epoch and
Beidou The BeiDou Navigation Satellite System (BDS; ) is a Chinese satellite navigation system. It consists of two separate satellite constellations. The first BeiDou system, officially called the BeiDou Satellite Navigation Experimental System a ...
calculates from UTC without adjustment for leap seconds. GPS also transmits the offset between UTC time and GPS time, and must update this offset every time there is a
leap second A leap second is a one- second adjustment that is occasionally applied to Coordinated Universal Time (UTC), to accommodate the difference between precise time ( International Atomic Time (TAI), as measured by atomic clocks) and imprecise obser ...
, requiring GPS receiving devices to handle the update correctly. In contrast, leap seconds are transparent to GLONASS users. The complexities of calculating UTC from an epoch are explained by the
European Space Agency , owners = , headquarters = Paris, Île-de-France, France , coordinates = , spaceport = Guiana Space Centre , seal = File:ESA emblem seal.png , seal_size = 130px , image = Views in the Main Control Room (120 ...
in Galileo documentation under "Equations to correct system timescale to reference timescale".


Notable epoch dates in computing

The following table lists epoch dates used by popular software and other computer-related systems. The time in these systems is stored as the quantity of a particular time unit (days, seconds, nanoseconds, etc.) that has elapsed since a stated time (usually midnight UTC at the beginning of the given date).


See also

*
System time In computer science and computer programming, system time represents a computer system's notion of the passage of time. In this sense, ''time'' also includes the passing of days on the calendar. System time is measured by a ''system clock'', w ...
*
Unix time Current Unix time () Unix time is a date and time representation widely used in computing. It measures time by the number of seconds that have elapsed since 00:00:00 UTC on 1 January 1970, the beginning of the Unix epoch, less adjustments m ...


Notes


References


External links


Critical and Significant Dates
(J. R. Stockton), an extensive list of dates that are problematic for various operating systems and computing devices.
Potential problem dates for computers (pdf)
A list of potential problem dates for computers and software from 2001 to 2100 (IET). {{Year-related problems Calendaring standards