What Is Unix Epoch?
Understanding Unix timestamps and how they work
What Is Unix Epoch / Unix Timestamp?
A Unix timestamp (also called Epoch or POSIX time) is a numeric representation of time that counts the number of seconds elapsed since the Unix epoch: 00:00 UTC, January 1, 1970.
Why January 1, 1970?
The Unix epoch was chosen for practical reasons:
- Simplicity — It's a round number at the start of a calendar year.
- Historical context — Unix was developed at Bell Labs in the late 1960s and early 1970s.
- 32-bit practicality — A signed 32-bit integer starting from 1970 can represent dates until 2038 (hence the Year-2038 problem).
How Timestamps Work in Practice
Current timestamp: 1710000000 (example)
This means: 1710000000 seconds since Jan 1, 1970 00:00:00 UTC
Timestamps are timezone-agnostic — they represent the same instant everywhere on Earth. A timestamp of 1710000000 is:
- 3 AM in New York (UTC-5)
- 8 AM in London (UTC+0)
- 1 PM in Mumbai (UTC+5)
All at the exact same moment in time.
Common Uses
- Databases — Storing timestamps as integers for efficient sorting and comparison.
- APIs — Exchanging time data without timezone ambiguity.
- Logs — Recording events with a precise, universal time reference.
- Caching — Setting expiration times for cached resources.
Key Properties
| Property | Description |
|---|---|
| Continuous | Represents a linear, monotonic time scale |
| Integral | Typically stored as integer (seconds) or big integer (ms) |
| Universal | Same value corresponds to the same instant globally |
| Compact | 4-8 bytes for storage vs 20+ bytes for ISO strings |