Overview

Unix time is a system for representing points in time as a single integer: the number of elapsed seconds since a defined origin called the epoch. That epoch is the instant commonly written as 1970-01-01 00:00:00 in Coordinated Universal Time. Unix time is used extensively in operating systems, programming languages, databases, and Internet protocols because it provides a compact, language-independent way to store and compare timestamps.

Characteristics and representation

In typical implementations, Unix time is stored as a signed integer counting seconds. Many systems follow the POSIX interpretation, which treats the count as continuous seconds without inserting extra values for occasional leap seconds; this means that Unix time and true astronomical UTC can diverge by the accumulated number of leap seconds. Representations vary by size and precision: some APIs return whole seconds, others provide fractional seconds or use 64-bit integers to extend the range far beyond the original 32-bit limitation.

Brief history and development

The convention grew out of early Unix operating systems in the 1970s as a simple method to record file modification times, process start times, and other temporal data. Its straightforward numeric form made it easy to store, sort, and compute intervals. Over time it became a de facto standard across many platforms and protocols. Modern systems often refer to it as POSIX time or Epoch time.

Uses and examples

  • File systems and timestamps: many file metadata fields are expressed as Unix time.
  • APIs and databases: timestamps are exchanged as integers or as ISO strings derived from Unix time.
  • Command-line utilities: on Unix-like systems a common way to view the current value is the shell command date +%s; many languages offer direct functions to obtain the epoch seconds.
  • Network protocols and logging: a compact numeric epoch simplifies ordering and arithmetic on times.

For information about timekeeping conventions and differences you can consult general references on time standards such as UTC and resources for Unix-like systems.

Notable issues and distinctions

Two practical caveats are often discussed. First, the handling of leap seconds means Unix time does not always match UTC instant-for-instant when implementations ignore leap seconds. Second, older systems using 32-bit signed integers will overflow in 2038 (the "Year 2038 problem"), a limitation addressed today by using 64-bit types. Despite these issues, Unix time remains a simple, interoperable choice for many applications.