Citizendia
Your Ad Here

Unix time passed 1,000,000,000 seconds in 2001-09-09T01:46:40 GMT. It was celebrated in Copenhagen, Denmark at a party held by DKUUG (at 03:46:40 local time).
Unix time passed 1,000,000,000 seconds in 2001-09-09T01:46:40 GMT. It was celebrated in Copenhagen, Denmark at a party held by DKUUG (at 03:46:40 local time). The Danish UNIX-systems User Group ( DKUUG) is a Computer User group.

Unix time, or POSIX time, is a system for describing points in time: it is the number of seconds elapsed since midnight Coordinated Universal Time (UTC) of January 1, 1970, not counting leap seconds. For other uses see Time (disambiguation Time is a component of a measuring system used to sequence events to compare the durations of Midnight is literally "the middle of the night" In most systems it is when one day ends and the next begins when the date changes New Year See also New Year The Ancient Romans began their consular year on January 1st since 153 BC Year 1970 ( MCMLXX) was a Common year starting on Thursday (link shows full calendar of the Gregorian calendar. A leap second is a one- Second adjustment that keeps broadcast standards for time of day close to mean solar time. It is widely used not only on Unix-like operating systems but also in many other computing systems. A Unix-like (sometimes shortened to *nix) Operating system is one that behaves in a manner similar to a Unix system while not necessarily conforming It is neither a linear representation of time nor a true representation of UTC (though it is frequently mistaken for both) as the times it represents are UTC but it has no way of representing UTC leap seconds (e. A leap second is a one- Second adjustment that keeps broadcast standards for time of day close to mean solar time. g. 1998-12-31 23:59:60).

Example: 1213530822 (2008-06-15 11:53:42Z)
This was the Unix time when this page was last generated. ISO 8601 is an International standard for date and Time representations issued by the International Organization for Standardization (ISO

Contents

Definition

There are two layers of encoding that make up Unix time, and they can be usefully separated. Unix (officially trademarked as UNIX, sometimes also written as Unix with Small caps) is a computer For other uses see Time (disambiguation Time is a component of a measuring system used to sequence events to compare the durations of The first layer encodes a point in time as a scalar real number, and the second encodes that number as a sequence of bits or in some other manner. In computing a scalar is a Variable or field that can hold only one value at a time as opposed to composite variables like Array, list In Mathematics, the real numbers may be described informally in several different ways A bit is a binary digit, taking a value of either 0 or 1 Binary digits are a basic unit of Information storage and communication

Encoding time as a number

Modern Unix time is based strictly on UTC. UTC counts time using SI seconds, and breaks up the span of time into days. The second ( SI symbol s) sometimes abbreviated sec, is the name of a unit of Time, and is the International System of Units A day (symbol d is a unit of Time equivalent to 24 Hours and the duration of a single Rotation of planet Earth with respect to the UTC days are mostly 86400 s long, but are occasionally 86401 s and could be 86399 s long (though the latter option has never been used as of January 2008) in order to keep the days synchronised with the rotation of the Earth (or Universal Time). 2008 ( MMVIII) is the current year in accordance with the Gregorian calendar, a Leap year that started on Tuesday of the Common EARTH was a short-lived Japanese vocal trio which released 6 singles and 1 album between 2000 and 2001 As is standard with UTC, this article will label days using the Gregorian calendar, and count times within each day in hours, minutes, and seconds. The Gregorian calendar is the most widely used Calendar in the world today The hour (symbol h) is a unit of Time. It is not an SI unit but is accepted for use with the SI A minute is a Unit of measurement of Time or of Angle. The minute is a unit of Time equal to 1/60th of an Hour or 60 The second ( SI symbol s) sometimes abbreviated sec, is the name of a unit of Time, and is the International System of Units Some of the examples will also show TAI, another time scheme, which uses the same seconds and is displayed in the same format as UTC, but has every day exactly 86400 s long, making no attempt to stay synchronised with the Earth's rotation. International Atomic Time ( TAI, from the French name Temps Atomique International) is a high-precision atomic Time standard that tracks

The Unix epoch is the time 00:00:00 UTC on January 1, 1970. In the fields of Chronology and Periodization, an epoch means an instant in time chosen as the origin of a particular Era. New Year See also New Year The Ancient Romans began their consular year on January 1st since 153 BC Year 1970 ( MCMLXX) was a Common year starting on Thursday (link shows full calendar of the Gregorian calendar. There is a problem with this definition, in that UTC did not exist in its current form until 1972; this issue is discussed below. Year 1972 ( MCMLXXII) was a Leap year starting on Saturday (link will display full calendar of the Gregorian calendar. For brevity, the remainder of this section will use ISO 8601 date format, in which the Unix epoch is 1970-01-01T00:00:00Z. ISO 8601 is an International standard for date and Time representations issued by the International Organization for Standardization (ISO

The Unix time number is zero at the Unix epoch, and increases by exactly 86 400 per day since the epoch. Thus 2004-09-16T00:00:00Z, 12 677 days after the epoch, is represented by the Unix time number 12 677 × 86 400 = 1 095 292 800. This can be extended backwards from the epoch too, using negative numbers; thus 1957-10-04T00:00:00Z, 4472 days before the epoch, is represented by the Unix time number -4472 × 86 400 = -386 380 800.

Within each day, the Unix time number is as calculated in the preceding paragraph at midnight UTC (00:00:00Z), and increases by exactly 1 per second since midnight. Thus 2004-09-16T17:55:43. 54Z, 64 543. 54 s since midnight on the day in the example above, is represented by the Unix time number 1 095 292 800 + 64 543. 54 = 1 095 357 343. 54. On dates before the epoch the number still increases, thus becoming less negative, as time moves forward.

The above scheme means that on a normal UTC day, of duration 86 400 s, the Unix time number changes in a continuous manner across midnight. In Mathematics, a continuous function is a function for which intuitively small changes in the input result in small changes in the output For example, at the end of the day used in the examples above, the time representations progress like this:

Unix time across midnight on a normal UTC day
TAI UTC Unix time
2004-09-17T00:00:30. 75 2004-09-16T23:59:58. 75 1 095 379 198. 75
2004-09-17T00:00:31. 00 2004-09-16T23:59:59. 00 1 095 379 199. 00
2004-09-17T00:00:31. 25 2004-09-16T23:59:59. 25 1 095 379 199. 25
2004-09-17T00:00:31. 50 2004-09-16T23:59:59. 50 1 095 379 199. 50
2004-09-17T00:00:31. 75 2004-09-16T23:59:59. 75 1 095 379 199. 75
2004-09-17T00:00:32. 00 2004-09-17T00:00:00. 00 1 095 379 200. 00
2004-09-17T00:00:32. 25 2004-09-17T00:00:00. 25 1 095 379 200. 25
2004-09-17T00:00:32. 50 2004-09-17T00:00:00. 50 1 095 379 200. 50
2004-09-17T00:00:32. 75 2004-09-17T00:00:00. 75 1 095 379 200. 75
2004-09-17T00:00:33. 00 2004-09-17T00:00:01. 00 1 095 379 201. 00
2004-09-17T00:00:33. 25 2004-09-17T00:00:01. 25 1 095 379 201. 25

When a leap second occurs, so that the UTC day is not exactly 86 400 s long, a discontinuity occurs in the Unix time number. A leap second is a one- Second adjustment that keeps broadcast standards for time of day close to mean solar time. The Unix time number increases by exactly 86 400 each day, regardless of how long the day is. When a leap second is deleted (which has never occurred as of 2008), the Unix time number jumps up by 1 at the instant where the leap second was deleted from, which is the end of the day. 2008 ( MMVIII) is the current year in accordance with the Gregorian calendar, a Leap year that started on Tuesday of the Common When a leap second is inserted (which has occurred on average once every year and a half), the Unix time number increases continuously during the leap second, during which time it is more than 86 400 s since the start of the current day, and then jumps down by 1 at the end of the leap second, which is the start of the next day. For example, this is what happened on strictly conforming POSIX. 1 systems at the end of 1998:

Unix time across midnight when a UTC leap second is inserted
TAI UTC Unix time
1999-01-01T00:00:29. Year 1998 ( MCMXCVIII) was a Common year starting on Thursday (link will display full 1998 Gregorian calendar) 75 1998-12-31T23:59:58. 75 915 148 798. 75
1999-01-01T00:00:30. 00 1998-12-31T23:59:59. 00 915 148 799. 00
1999-01-01T00:00:30. 25 1998-12-31T23:59:59. 25 915 148 799. 25
1999-01-01T00:00:30. 50 1998-12-31T23:59:59. 50 915 148 799. 50
1999-01-01T00:00:30. 75 1998-12-31T23:59:59. 75 915 148 799. 75
1999-01-01T00:00:31. 00 1998-12-31T23:59:60. 00 915 148 800. 00
1999-01-01T00:00:31. 25 1998-12-31T23:59:60. 25 915 148 800. 25
1999-01-01T00:00:31. 50 1998-12-31T23:59:60. 50 915 148 800. 50
1999-01-01T00:00:31. 75 1998-12-31T23:59:60. 75 915 148 800. 75
1999-01-01T00:00:32. 00 1999-01-01T00:00:00. 00 915 148 800. 00
1999-01-01T00:00:32. 25 1999-01-01T00:00:00. 25 915 148 800. 25
1999-01-01T00:00:32. 50 1999-01-01T00:00:00. 50 915 148 800. 50
1999-01-01T00:00:32. 75 1999-01-01T00:00:00. 75 915 148 800. 75
1999-01-01T00:00:33. 00 1999-01-01T00:00:01. 00 915 148 801. 00
1999-01-01T00:00:33. 25 1999-01-01T00:00:01. 25 915 148 801. 25

Observe that when a positive leap second occurs (i. e. , when a leap second is inserted) the Unix time numbers repeat themselves. The Unix time number 915 148 800. 50 is ambiguous: it can refer either to the instant in the middle of the leap second, or to the instant one second later, half a second after midnight UTC. In the theoretical case when a negative leap second occurs (i. e. , when a leap second is deleted) no ambiguity is caused, but instead there is a range of Unix time numbers that do not refer to any point in time at all.

A Unix clock is often implemented with a different type of positive leap second handling associated with the Network Time Protocol (NTP). The Network Time Protocol ( NTP) is a protocol for distributing the Coordinated Universal Time (UTC by means of synchronizing the clocks of computer systems This yields a system that does not conform to the POSIX standard. See the section below concerning NTP for details.

When dealing with periods that do not encompass a UTC leap second, the difference between two Unix time numbers is equal to the duration in seconds of the period between the corresponding points in time. This is a common computational technique. However, where leap seconds occur, such calculations give the wrong answer. In applications where this level of accuracy is required, it is necessary to consult a table of leap seconds when dealing with Unix times, and it is often preferable to use a different time encoding that does not suffer this problem.

A Unix time number is easily converted back into UTC by taking the quotient and modulus of the Unix time number, modulo 86400. The quotient is the number of days since the epoch, and the modulus is the number of seconds since midnight UTC on that day. (It is important to ensure that the right type of modulus is being calculated when dealing with times before the epoch. ) If given a Unix time number that is ambiguous due to a positive leap second, this algorithm will interpret it as the time just after midnight. It will never generate a time that is during a leap second. If given a Unix time number that is invalid due to a negative leap second, it will generate an equally invalid UTC time. If these conditions are significant then it is necessary to consult a table of leap seconds in order to detect them.

Non-synchronous Network Time Protocol-based variant

Commonly a Mills-style Unix clock is implemented with leap second handling not synchronous with the change of the Unix time number. David L Mills (born June 3, 1938) was the first chairman of the Internet Architecture Task Force. The time number initially increases normally where a leap should have occurred, and then it leaps a few milliseconds later. This is done in order to make implementation easier, and is suggested in passing by Mills's paper. This is what happens across a positive leap second:

non-synchronous Mills-style Unix clock across midnight when a UTC leap second is inserted
TAI UTC state Unix clock
1999-01-01T00:00:29. 75 1998-12-31T23:59:58. 75 TIME_INS 915 148 798. 75
1999-01-01T00:00:30. 00 1998-12-31T23:59:59. 00 TIME_INS 915 148 799. 00
1999-01-01T00:00:30. 25 1998-12-31T23:59:59. 25 TIME_INS 915 148 799. 25
1999-01-01T00:00:30. 50 1998-12-31T23:59:59. 50 TIME_INS 915 148 799. 50
1999-01-01T00:00:30. 75 1998-12-31T23:59:59. 75 TIME_INS 915 148 799. 75
1999-01-01T00:00:31. 00 1998-12-31T23:59:60. 00 TIME_INS 915 148 800. 00
1999-01-01T00:00:31. 25 1998-12-31T23:59:60. 25 TIME_OOP 915 148 799. 25
1999-01-01T00:00:31. 50 1998-12-31T23:59:60. 50 TIME_OOP 915 148 799. 50
1999-01-01T00:00:31. 75 1998-12-31T23:59:60. 75 TIME_OOP 915 148 799. 75
1999-01-01T00:00:32. 00 1999-01-01T00:00:00. 00 TIME_OOP 915 148 800. 00
1999-01-01T00:00:32. 25 1999-01-01T00:00:00. 25 TIME_WAIT 915 148 800. 25
1999-01-01T00:00:32. 50 1999-01-01T00:00:00. 50 TIME_WAIT 915 148 800. 50
1999-01-01T00:00:32. 75 1999-01-01T00:00:00. 75 TIME_WAIT 915 148 800. 75
1999-01-01T00:00:33. 00 1999-01-01T00:00:01. 00 TIME_WAIT 915 148 801. 00
1999-01-01T00:00:33. 25 1999-01-01T00:00:01. 25 TIME_WAIT 915 148 801. 25

This can be decoded properly by paying attention to the leap second state variable, which unambiguously indicates whether the leap has been performed yet. The state variable change is synchronous with the leap.

A similar situation arises with a negative leap second, where the second that is skipped is slightly too late. Very briefly the system shows a nominally impossible time number, but this can be detected by the TIME_DEL state and corrected.

In this type of system the Unix time number violates POSIX around both types of leap second. Collecting the leap second state variable along with the time number allows for unambiguous decoding, so the correct POSIX time number can be generated if desired, or the full UTC time can be stored in a more suitable format.

The decoding logic required to cope with this style of Unix clock would also correctly decode a hypothetical POSIX-conforming clock using the same interface. This would be achieved by indicating the TIME_INS state during the entirety of an inserted leap second, then indicating TIME_WAIT during the entirety of the following second while repeating the seconds count. This requires synchronous leap second handling. This is probably the best way to express UTC time in Unix clock form, via a Unix interface, when the underlying clock is fundamentally untroubled by leap seconds.

International Atomic Time-based variant

Another, much rarer, non-conforming variant of Unix time keeping involves encoding International Atomic Time (TAI) rather than UTC. International Atomic Time ( TAI, from the French name Temps Atomique International) is a high-precision atomic Time standard that tracks Because TAI has no leap seconds, and every TAI day is exactly 86 400 s long, this encoding is actually a pure linear count of seconds elapsed since 1970-01-01T00:00:00 TAI. A leap second is a one- Second adjustment that keeps broadcast standards for time of day close to mean solar time. This makes time interval arithmetic much easier. Time values from these systems do not suffer the ambiguity that strictly conforming POSIX systems or NTP-driven systems have.

In these systems it is necessary to consult a table of leap seconds in order to correctly convert between UTC and the pseudo-Unix-time representation. This resembles the manner in which time zone tables must be consulted in order to convert to and from civil time. In modern usage civil time refers to statutory time scales designated by civilian authorities or to local time indicated by clocks The leap second table must be updated (from the published leap second bulletins) more frequently than the time zone tables, because leap seconds occur at shorter notice than changes to daylight saving time rules. Daylight saving time ( DST (A standard Unix time system must similarly consult a leap second table to convert to and from TAI, but this is a much rarer requirement. ) Conversion also runs into definitional problems prior to the 1972 commencement of the current form of UTC (see the later section about UTC). Year 1972 ( MCMLXXII) was a Leap year starting on Saturday (link will display full calendar of the Gregorian calendar.

This TAI-based system, despite its superficial resemblance, is not Unix time. It encodes times with significantly different values from the POSIX time values, and does not have the simple mathematical relationship to UTC that is mandated by POSIX.

Representing the number

A Unix time number can be represented in any form capable of representing numbers. In some applications the number is simply represented textually as a string of decimal digits, raising only trivial additional issues. However, there are certain binary representations of Unix times that are of particular significance.

The standard Unix time_t (data type representing a point in time) is a signed integer data type, traditionally of 32 bits (but see below), directly encoding the Unix time number as described in the preceding section. The time_t datatype is a Data type in the ISO C library defined for storing System time values The integers (from the Latin integer, literally "untouched" hence "whole" the word entire comes from the same origin but via French A bit is a binary digit, taking a value of either 0 or 1 Binary digits are a basic unit of Information storage and communication Being integer means that it has a resolution of one second; many Unix applications therefore handle time only to that resolution. Being 32 bits (of which one bit is the sign bit) means that it covers a range of about 136 years in total. The minimum representable time is 1901-12-13, and the maximum representable time is 2038-01-18. At 2038-01-18 this representation will overflow. The term arithmetic overflow or simply overflow has the following meanings This milestone is anticipated with a mixture of amusement and dread; see year 2038 problem. The year 2038 problem (also known as "Unix Millennium bug" or "Y2K38" by analogy to the Y2K problem) may cause some Computer software to fail

In some newer operating systems, time_t has been widened to 64 bits. In the negative direction, this goes back more than twenty times the age of the universe, and so suffices. The age of the Universe is the time elapsed between the theory of the Big Bang and the present day In the positive direction, whether the approximately 293 billion representable years is truly sufficient depends on the ultimate fate of the universe, but it is certainly adequate for most practical purposes. The ultimate fate of the universe is a topic in Physical cosmology.

There was originally some controversy over whether the Unix time_t should be signed or unsigned. If unsigned, its range in the future would be doubled, postponing the 32-bit overflow (by 68 years). However, it would then be incapable of representing times prior to 1970. Dennis Ritchie, when asked about this issue, said that he hadn't thought very deeply about it, but was of the opinion that the ability to represent all times within his lifetime would be nice. Dennis MacAlistair Ritchie (born September 9, 1941) is an American computer scientist notable for his influence on C and other Programming (Ritchie's birth time is around Unix time -893,400,000. ) The consensus, and universal practice, is for time_t to be signed.

The POSIX and Open Group Unix specifications include the ISO C standard library, which includes the time types and functions defined in the <time.h> header file. POSIX (ˈpɒzɪks or "Portable Operating System Interface" is the collective name of a family of related standards specified by the IEEE to define The Open Group is an industry Consortium to set vendor- and technology-neutral open standards for Computing infrastructure tags please moot on the talk page first! --> In Computing, C is a general-purpose cross-platform block structured The C standard library (also known as libc) is a now-standardized collection of Header files and library routines used to implement common operations such TemplateC_Standard_library -->In the C and C++ programming languages time The ISO C standard states that time_t must be an arithmetic type, but does not mandate any specific type or encoding for it.

Unix has no tradition of directly representing non-integer Unix time numbers as binary fractions. Instead, times with sub-second precision are represented using compound data types that consist of two integers, the first being a time_t (the integral part of the Unix time), and the second being the fractional part of the time number in millionths (in struct timeval) or billionths (in struct timespec). In Computer science, composite types are Datatypes which can be constructed in a Programming language out of that language's Primitive types and These structures provide a decimal-based fixed-point data format, which is useful for some applications, and trivial to convert for others. The decimal ( base ten or occasionally denary) Numeral system has ten as its base.

UTC basis

The present form of UTC, with leap seconds, is defined only from January 1, 1972 onwards. New Year See also New Year The Ancient Romans began their consular year on January 1st since 153 BC Year 1972 ( MCMLXXII) was a Leap year starting on Saturday (link will display full calendar of the Gregorian calendar. Prior to that, since January 1, 1961 there was an older form of UTC in which not only were there occasional time steps, which were by non-integer numbers of seconds, but also the UTC second was slightly longer than the SI second, and periodically changed, in order to continuously approximate the Earth's rotation. New Year See also New Year The Ancient Romans began their consular year on January 1st since 153 BC Year 1961 ( MCMLXI) was a Common year starting on Sunday (link will display full calendar of the Gregorian calendar. Prior to 1961 there was no UTC, and prior to 1958 there was no widespread atomic timekeeping; in these eras, some approximation of GMT (based directly on the Earth's rotation) was used instead of an atomic timescale. Year 1961 ( MCMLXI) was a Common year starting on Sunday (link will display full calendar of the Gregorian calendar. Year 1958 ( MCMLVIII) was a Common year starting on Wednesday (link will display full calendar of the Gregorian calendar. Greenwich Mean Time ( GMT) is a term originally referring to mean solar time at the Royal Observatory in Greenwich, London

The precise definition of Unix time as an encoding of UTC is only controversially applicable to the present form of UTC. Fortunately, the fact that the Unix epoch predates the start of this form of UTC does not affect its use in this era: the number of days from January 1, 1970 (the Unix epoch) to January 1, 1972 (the start of UTC) is not in question, and the number of days would be all that is significant to Unix time, if Unix time were not counted in seconds. New Year See also New Year The Ancient Romans began their consular year on January 1st since 153 BC Year 1970 ( MCMLXX) was a Common year starting on Thursday (link shows full calendar of the Gregorian calendar. New Year See also New Year The Ancient Romans began their consular year on January 1st since 153 BC Year 1972 ( MCMLXXII) was a Leap year starting on Saturday (link will display full calendar of the Gregorian calendar. The root of the problem is that the day, or nychthemeron, is a continuously varying "unit" of time, ever growing gradually longer because of tidal drag caused by interaction between the Moon, the Earth's oceans, and the rotating Earth itself. Nychthemeron or nycthemeron or nuchthemeron (from Greek nykt- "night" (hemera "day" is a period of 24 consecutive hours As a result, the current day is 86400. 002 seconds long (and increasing), a fact which UTC takes into account, but which Unix (POSIX) time as currently defined does not.

The meaning of Unix time values below +63072000 (i. e. , prior to January 1, 1972) is not precisely defined. New Year See also New Year The Ancient Romans began their consular year on January 1st since 153 BC Year 1972 ( MCMLXXII) was a Leap year starting on Saturday (link will display full calendar of the Gregorian calendar. The basis of such Unix times is best understood to be an unspecified approximation of GMT. Computers of that era rarely had clocks set sufficiently accurately to provide meaningful sub-second timestamps in any case. Unix time is not a suitable way to represent times prior to 1972 in applications requiring sub-second precision; such applications must, at least, define which form of UT or GMT they are using.

As of 2004, the possibility of ending the use of leap seconds in civil time is being considered. "MMIV" redirects here For the Modest Mouse album see " Baron von Bullshit Rides Again " A likely means to execute this change is to define a new time scale, called "International Time", that initially matches UTC but thereafter has no leap seconds, thus remaining at a constant offset from TAI. If this happens, it is likely that Unix time will be prospectively defined in terms of this new time scale, instead of UTC. Uncertainty about whether this will occur makes prospective Unix time no less predictable than it already is: if UTC were simply to have no further leap seconds the result would be the same. Reinterpreting Unix time in terms of TAI or GPS time, while more simple in theory, would make a hash of assumptions built into time-handling code written since the 1970s. Such a move would be a replacement of Unix time by a new system, rather than a reinterpretation.

History

The earliest versions of Unix time had a 32-bit integer incrementing at a rate of 60 Hz, which was the rate of the system clock on the hardware of the early Unix systems (divided down from the actual CPU cycle speed of ~1. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. 8 MHz). The value 60 Hz still appears in some software interfaces as a result. The epoch also differed from the current value. The first edition Unix Programmer's Manual dated November 3, 1971 defines the Unix time as "the time since 00:00:00, Jan. Events 644 - Umar ibn al-Khattab, the second Muslim Caliph, is killed by a Persian slave in Medina. Year 1971 ( MCMLXXI) was a Common year starting on Friday (link will display full calendar of the 1971 Gregorian calendar. 1, 1971, measured in sixtieths of a second".

The User Manual also commented that "the chronologically-minded user will note that 232 sixtieths of a second is only about 2. 5 years". Because of this limited range, the epoch was redefined more than once, before the rate was changed to 1 Hz and the epoch was set to its present value. This yielded a range in excess of 130 years, though with more than half the range in the past (see discussion of signedness above).

As indicated by the definition quoted above, the Unix time scale was originally intended to be a simple linear representation of time elapsed since an epoch. However, there was no consideration of the details of time scales, and it was implicitly assumed that there was a simple linear time scale already available and agreed upon. Indeed, the first edition manual's definition doesn't even specify which timezone is used. Several later problems, including the complexity of the present definition, result from Unix time having been defined gradually by usage rather than fully defined to start with.

When POSIX. POSIX (ˈpɒzɪks or "Portable Operating System Interface" is the collective name of a family of related standards specified by the IEEE to define 1 was written, in the 1980s (it was published in 1988), the question arose of how to precisely define time_t in the face of leap seconds. The 1980s was the decade spanning from January 1 1980 to December 31 1989. Year 1988 ( MCMLXXXVIII) was a Leap year starting on Friday (link displays 1988 Gregorian calendar) Some argued for it to remain, as intended, a linear count of seconds since the epoch, at the expense of complexity in conversions with civil time. Others argued for it to remain, as conflictingly intended, easily interconvertible with the conventional representation of civil time, at the expense of inconsistency around leap seconds. Computer clocks of the era were not sufficiently precisely set to form a precedent one way or the other.

The POSIX committee was swayed by arguments against complexity in the library functions, and firmly defined the Unix time in a simple manner in terms of the elements of UTC time. Unfortunately, this definition was so simple that it didn't even encompass the entire leap year rule of the Gregorian calendar, and would make 2100 a leap year. A leap year (or intercalary year) is a year containing one or more extra days (or in the case of Lunisolar calendars an extra month in order to keep the

The 2001 edition of POSIX. Year 2001 ( MMI) was a Common year starting on Monday according to the Gregorian calendar. 1 rectified the faulty leap year rule in the definition of Unix time, but retained the essential definition of Unix time as an encoding of UTC rather than a linear time scale. Also, since the mid-1990s computer clocks have been routinely set with sufficient precision for this to matter, and they have most commonly been set using the UTC-based definition of Unix time. The 1990s collectively refers to the years between and including 1990 and 1999 This has resulted in considerable complexity in Unix implementations, and in the Network Time Protocol, in order to execute steps in the Unix time number whenever leap seconds occur. The Network Time Protocol ( NTP) is a protocol for distributing the Coordinated Universal Time (UTC by means of synchronizing the clocks of computer systems

In 2004 POSIX added new interfaces making several different time scales available to programs, splitting up the many uses to which Unix times have traditionally been put. "MMIV" redirects here For the Modest Mouse album see " Baron von Bullshit Rides Again " As the new POSIX time interfaces have not been fully deployed by the programs that may actually have a use for them, the POSIX time interface change has gone unnoticed.

Unix time in literature

Vernor Vinge's novel A Deepness in the Sky describes a space-faring trading civilization tens of thousands of years (hundreds of gigaseconds) in the future that apparently still uses the Unix epoch. Vernor Steffen Vinge (ˈvɪndʒi (born October 2, 1944 in Waukesha Wisconsin, U A Deepness in the Sky is a Science fiction Novel by Vernor Vinge. It is noted that this epoch is approximately when man first walked on the moon which is what the Qeng Ho mistakenly believe is the basis for their calendar. However, the timekeeping code is layered upon ancient programs including one that is implied to be based on the Unix epoch. [1] [2]

See also

Notes

  1. ^ LUGA: rr: [rr] mature programming environment
  2. ^ The UnixTime Apocalypse

External links

The time_t datatype is a Data type in the ISO C library defined for storing System time values In Computer science and Computer programming, system time represents a computer system's notion of the passing of Time. The Year 2000 problem (also known as the Y2K problem, the millennium bug, the Y2K bug, or simply Y2K) was a notable Computer bug resulting The year 2038 problem (also known as "Unix Millennium bug" or "Y2K38" by analogy to the Y2K problem) may cause some Computer software to fail Landon Curt Noll (born October 28, 1960 Walnut Creek California, United States) is the discoverer of two Mersenne primes which he
© 2009 citizendia.org; parts available under the terms of GNU Free Documentation License, from http://en.wikipedia.org
Dapyx Software network: MP3 Explorer | Ebook Manager | Zenithic