Epoch Timestamp Explained: Unix Time, POSIX Time, and Seconds Since 1970
An epoch timestamp is a compact way to represent a moment as elapsed time since a fixed starting point. This guide explains Unix time, POSIX timestamps, the Unix epoch date, and why seconds since 1970 UTC became the default in software.
What is an epoch timestamp?
An epoch timestamp is a numeric count measured from a fixed reference moment called an epoch. In everyday developer usage, epoch timestamp usually means Unix timestamp: the number of seconds since January 1, 1970 at 00:00:00 UTC. A value of 0 means the exact Unix epoch. Positive values are after 1970; negative values are before it.
Unix time vs POSIX timestamp
Unix time and POSIX timestamp are usually used interchangeably in application code. Both refer to elapsed seconds since the Unix epoch, ignoring leap seconds for civil-time simplicity. The practical result is a stable integer that works across operating systems, programming languages, databases, APIs, and log files.
- Unix epoch date: 1970-01-01 00:00:00 UTC
- Unix timestamp 0: the exact start of the Unix epoch
- POSIX timestamp: seconds since the Unix epoch in POSIX-compatible systems
- Epoch milliseconds: the same epoch, but counted in milliseconds
- Epoch microseconds or nanoseconds: higher precision for databases and tracing
Why timestamp since 1970 became standard
The Unix epoch was practical for early Unix systems and became a convention as Unix ideas spread into C libraries, Linux, databases, web servers, and programming languages. A single numeric timestamp is easier to sort, compare, transmit, and store than a localized date string.
Epoch timestamp examples
A few known values make the definition easier to remember.
- 0 = 1970-01-01 00:00:00 UTC
- 1 = 1970-01-01 00:00:01 UTC
- 86400 = 1970-01-02 00:00:00 UTC
- 1700000000 = 2023-11-14 22:13:20 UTC
- 1767225600 = 2026-01-01 00:00:00 UTC
Epoch timestamp FAQ
- Is epoch time the same as Unix time?
- In common developer usage, yes. Epoch time usually means Unix time: elapsed seconds since 1970-01-01 00:00:00 UTC.
- What is the Unix time definition?
- Unix time is defined as seconds since 1970-01-01 00:00:00 UTC, not counting leap seconds.
- Is a POSIX timestamp timezone-aware?
- No. A POSIX timestamp represents one instant. Timezones are applied only when formatting that instant as a readable date.
- Are epoch timestamps the same on Windows, Linux, and macOS?
- The Unix epoch (1970-01-01 00:00:00 UTC) is identical across modern platforms and languages, so the same instant yields the same Unix timestamp everywhere. Windows uses its own FILETIME epoch (1601) internally, but standard Unix and POSIX timestamps use 1970.