Glossary Data & Encoding

Unix timestamp

A Unix timestamp is the number of seconds since 00:00:00 UTC on 1 January 1970, the "Unix epoch", used by computers as a simple way to store a moment in time.

Last reviewed:

AdSense Placeholder
Slot: header_reference_page

In more detail

Because it counts from a fixed UTC moment, it is the same everywhere regardless of time zone; the zone only matters when it is turned into a local date. Unix time ignores leap seconds, treating every day as exactly 86,400 seconds, and moments before 1970 are negative. JavaScript and many APIs use milliseconds instead, so a 13-digit value is milliseconds and a 10-digit value is seconds.

Why it matters

Mixing seconds and milliseconds gives dates in 1970 or tens of thousands of years in the future. Systems storing it in a signed 32-bit number overflow after 2,147,483,647 seconds, at 03:14:07 UTC on 19 January 2038 (the "Year 2038 problem"), and wrap to a date in 1901. Timestamps are also central evidence in logs and file systems, where they can be altered (see Timestomping).

Example

1700000000 is 14 November 2023, 22:13:20 UTC; the same moment in milliseconds is 1700000000000. On Linux:

$ date -u -d @1700000000 '+%Y-%m-%dT%H:%M:%SZ'
2023-11-14T22:13:20Z

Convert in either direction with the Unix Timestamp Converter.

AdSense Placeholder
Slot: footer_leaderboard