What is a Unix Timestamp?
A Unix timestamp (also called epoch time) is the number of seconds that have elapsed since January 1, 1970, 00:00:00 UTC — known as the Unix Epoch. This is the universal standard for representing time in programming.
Why Use Unix Timestamps?
- Universal — Not tied to any timezone or locale
- Simple arithmetic — Calculate durations by subtracting timestamps
- Sortable — A larger timestamp always means a later time
- Compact — Just a single integer to represent any moment in time
- Database-friendly — Efficient to store and index
Seconds vs Milliseconds
A classic source of bugs: some systems use seconds (10-digit numbers, e.g. 1712345678) while others use milliseconds (13-digit numbers, e.g. 1712345678000). JavaScript's Date.now() returns milliseconds, while Unix shells return seconds.
The Year 2038 Problem
Systems that store timestamps as 32-bit signed integers will overflow on January 19, 2038. Modern systems use 64-bit integers which can store timestamps billions of years into the future.
Working with Timestamps in Code
JavaScript:
// Current timestamp (ms)
Date.now()
// Convert timestamp to Date
new Date(1712345678000)
// Date to timestamp (ms)
new Date('2024-04-05').getTime()
Python:
import time, datetime
# Current timestamp
time.time()
# Convert timestamp to datetime
datetime.datetime.fromtimestamp(1712345678)
Use our free Unix Timestamp Converter to convert between timestamps and human-readable dates instantly.