Convert Unix timestamps to human-readable dates and vice versa. Shows current timestamp, ISO 8601, UTC, and local time formats.
A Unix timestamp counts the number of seconds (or milliseconds) elapsed since January 1, 1970 00:00:00 UTC (the Unix Epoch). It is timezone-independent and widely used in programming.
A 10-digit number is seconds (e.g. 1704067200). A 13-digit number is milliseconds (e.g. 1704067200000). Current Unix time is ~1.7 billion seconds.
JavaScript: Date.now() (ms) or Math.floor(Date.now()/1000) (seconds); Python: import time; int(time.time()); Java: System.currentTimeMillis()/1000; Go: time.Now().Unix(); Shell: date +%s. Most languages return seconds; JavaScript returns milliseconds.
The Y2K38 problem: a signed 32-bit integer's maximum value is 2,147,483,647, corresponding to 2038-01-19 03:14:07 UTC. Beyond that moment, the 32-bit integer overflows to a negative value, causing systems to interpret the time as 1901. Solutions: use 64-bit integers to store timestamps (Linux kernel 5.6+ supports 64-bit time_t on 32-bit systems); upgrade legacy systems and embedded devices using 32-bit timestamps; check database TIMESTAMP field types.