Time: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 11: Line 11:


==UTC==
==UTC==
{{External|[More details: https://en.wikipedia.org/wiki/Universal_Time Universal Time in Wikipedia]}}


UTC (Coordinated Universal Time or Universal Time) is the primary time standard by which the world regulates time. UTC represents a moment in time within about 1 second of mean solar time at 0° longitude. UTC is an atomic timescale that approximates [[#UT1|UT1]]. It is a successor to GMT (Greenwich Mean Time). For most practical purposes, UTC is considered interchangeable with GMT, but GMT is no longer precisely defined by the scientific community.
UTC (Coordinated Universal Time or Universal Time) is the primary time standard by which the world regulates time. UTC represents a moment in time within about 1 second of mean solar time at 0° longitude. UTC is an atomic timescale that approximates [[#UT1|UT1]]. It is a successor to GMT (Greenwich Mean Time). For most practical purposes, UTC is considered interchangeable with GMT, but GMT is no longer precisely defined by the scientific community.
Line 18: Line 20:
UTC does not observe daylight savings time. The actual wall clock time in a time zone is obtained by applying the UTC offset and the daylight saving offset, if daylight saving time is observed and it is in effect in the timezone.
UTC does not observe daylight savings time. The actual wall clock time in a time zone is obtained by applying the UTC offset and the daylight saving offset, if daylight saving time is observed and it is in effect in the timezone.


 
UTC is represented as "0000" in RFC 822 and as and as "Z" in ISO 8601.
 
UTC is specified as "0000" in RFC 822  
 
15/01/01 01:01:01+0000
15/01/01 01:01:01 +0000
 
and as "Z" in ISO 8601
 
2015-01-01T01:01:01Z
 
 
More details: https://en.wikipedia.org/wiki/Universal_Time


==UT1==
==UT1==

Revision as of 23:29, 6 November 2018

Internal

Definitions

Standard Time

Standard time is the synchronization of clocks within a time zone to a single time value, rather than using solar time or local mean time standard. All clocks within the same timezone show the same time. The standard time set in each time zone is defined in terms of offsets from UTC and, in those time zones where daylight saving time is observed, by applying an additional offset corresponding to the daylight saving. More details: https://en.wikipedia.org/wiki/Standard_time

UTC

[More details: https://en.wikipedia.org/wiki/Universal_Time Universal Time in Wikipedia]

UTC (Coordinated Universal Time or Universal Time) is the primary time standard by which the world regulates time. UTC represents a moment in time within about 1 second of mean solar time at 0° longitude. UTC is an atomic timescale that approximates UT1. It is a successor to GMT (Greenwich Mean Time). For most practical purposes, UTC is considered interchangeable with GMT, but GMT is no longer precisely defined by the scientific community.

Time zones around the world are expressed using positive or negative offsets from UTC.

UTC does not observe daylight savings time. The actual wall clock time in a time zone is obtained by applying the UTC offset and the daylight saving offset, if daylight saving time is observed and it is in effect in the timezone.

UTC is represented as "0000" in RFC 822 and as and as "Z" in ISO 8601.

UT1

UT1 is the principal form of Universal Time. It conceptually mean solar time at 0° longitude. However, precise measurements of the Sun are difficult. Hence, it is computed from observations of distant quasars using long baseline interferometry, laser ranging of the Moon and artificial satellites, as well as the determination of GPS satellite orbits.

GMT

See UTC

POSIX Time

https://en.wikipedia.org/wiki/Unix_time

Unix time (also known as POSIX time or epoch time) is a system for describing a point in time, defined as the number of seconds that have elapsed since 00:00:00 UTC Thursday, 1 January 1970, 00:00:00, minus the number of leap seconds that have taken place since then.

Millisecond POSIX Time

A representation of a point in time with the same semantics as the POSIX Time, but using milliseconds instead of seconds.

Time Zone

A time zone is a region that observes the same standard time. All clocks within a time zone should indicate the same value. Most of the time zones are identified by offsets from UTC. The actual wall clock time in a time zone is calculating by applying the time zone offset to UTC and, if daylight time is observed and it is effect, the daylight time offset.

The valid offsets from UTC range from UTC−12 to UTC+14. Most offset values are whole hours, but there are a few that include offset by 30 or 45 minutes.

"Z" is the zone designator for the zero UTC offset.

Offsets from UTC are written in the format ±[hh]:[mm], ±[hh][mm], or ±[hh]: hour(s) ahead or behind UTC. So if the time being described is one hour ahead of UTC (such as the time in Berlin during the winter), the zone designator would be "+01:00", "+0100", or simply "+01". The offset from UTC changes with daylight saving time, e.g. a time offset in Chicago, which is in the North American Central Time Zone, would be "−06:00" for the winter (Central Standard Time) and "−05:00" for the summer.

Time Zone Support in Java
ISO 8601 Offset from UTC

For more details see: https://en.wikipedia.org/wiki/Time_zone

Time Offset

A time offset is an amount of time, in milliseconds, subtracted from or added to UTC to get the current wall clock time – whether it's standard time or daylight saving time.

For a time zone where the daylight saving time is not in effect, the time offset is the time zone offset.

Getting Raw Time Zone Offset in Java

For a time zone where the daylight saving time is in effect, the time offset is the time zone offset + the daylight saving time offset (usually one hour).

Getting Daylight Saving Time Offset in Java

Also see:

https://github.com/NovaOrdis/novaordis-utilities/blob/master/src/main/java/io/novaordis/utilities/timestamp/TimeOffset.java

Time Offset Examples

During summer time, when the daylight saving time is in effect, the effective time offset from UTC in the Eastern Time Zone is -4 (-14400000 milliseconds). During winter time, when the standard time is observed, the effective time offset from UTC in the Easter Time Zone is -5 (-18000000 milliseconds).

Daylight Saving Time

More details: https://en.wikipedia.org/wiki/Daylight_saving_time

Interpreting Timestamps

Assuming that the timestamp is "07/10/16 10:00:00 -0400", it can be read as follows: the timestamp represents the value the clock time at the moment it was displayed, and it was obtained from the UTC value at that moment by applying the offset of -4 * 3600 * 1000 milliseconds. The value of the corresponding UTC timestamp (milliseconds passed since 01/01/1970 00:00:00 Z) can be calculated by adding 4 * 3600 * 1000 milliseconds to the number of milliseconds passed between 01/01/1972 00:00:00.000 and 07/10/16 10:00:00. The timestamp also says that the effective offset of the timezone the reading was performed in is -04:00 relative to UTC.

The timestamp does not says that, but the reading was performed in the Eastern Daylight Saving Time, where the Eastern Standard Time time zone offset is -5 hours, and the daylight saving time offset (in effect) is +1 hour, so -0400 = -5 + 1.

How Do Applications Get the Local Time Zone Information?

Applications obtain the current timezone from the system via the localtime API (for more details see man localtime). The timezone information used by localtime and exposed to the API clients is initialized based on the value of the TZ environment variable, as it follows (this applies to Mac/BSD, update it for other platforms):

  • If TZ does not appear in the environment, the best available approximation to local wall clock time is read from /etc/localtime.
  • If TZ appears in the environment but its value is a null string, Coordinated Universal Time (UTC) is used.
  • If TZ appears in the environment and its value begins with a colon (`:'), the rest of its value is used as a pathname of a tzfile-format file from which to read the time conversion information. If the first character of the pathname is a slash (`/'), it is used as an absolute pathname; otherwise, it is used as a pathname relative to the system time conversion information directory.
  • If TZ appears in the environment and its value does not begin with a colon, it is first used as the pathname of a file, as described above, from which to read the time conversion information. Conventionally, the files are available under /usr/share/zoneinfo and the file name designates the corresponding timezone. If that file cannot be read, the value is then interpreted as a direct specification of the time conversion information.
  • If the TZ environment variable does not specify a tzfile-format file and cannot be interpreted as a direct specification, UTC is used.

Example

Setting TZ to:

export TZ=/usr/share/zoneinfo/Pacific/Honolulu

causes date to output this:

Tue Jul 12 14:32:47 HST 2016