What Is a Unix Timestamp? Epoch Time & Year 2038 Problem
Learn what Unix epoch timestamps are, how seconds/milliseconds are converted to UTC and ISO 8601 dates, and why the Year 2038 32-bit overflow occurs.
The Unix Epoch Standard
Unix Time (POSIX time) is defined as the number of seconds that have elapsed since 00:00:00 UTC on January 1, 1970 (excluding leap seconds). It is the universal standard for timestamping events across operating systems, distributed databases, and network protocols.
Seconds vs. Milliseconds
- 10-Digit Timestamp: Represents seconds (e.g.
1700000000). Standard in Unix shell, Python, Go, and C. - 13-Digit Timestamp: Represents milliseconds (e.g.
1700000000000). Standard in JavaScript (Date.now()) and Java.
The Year 2038 Problem
Systems storing Unix time as a signed 32-bit integer will overflow when reaching 2,147,483,647 seconds on January 19, 2038 at 03:14:07 UTC, wrapping around to negative numbers (December 13, 1901). Modern 64-bit systems resolve this overflow for hundreds of billions of years.