Epoch Time Converter
Convert Unix epoch timestamps (seconds or milliseconds) to and from human-readable dates in any IANA timezone. Returns UTC ISO 8601, zoned ISO with offset, US-format string, weekday, day of year, ISO week, leap-year flag, and a Y2038 advisory for epochs above 2,147,483,647.
Frequently Asked Questions about the Epoch Time Converter
What is Unix epoch time and why does it start in 1970?
Unix epoch time counts elapsed seconds from 1970-01-01T00:00:00 UTC. Unix adopted that origin early in its development, and the convention became widespread across operating systems and APIs. Other systems can use different epochs or time units, so confirm the format before converting a bare number.
What is the Y2038 problem and when does it actually break things?
The Y2038 problem hits at 03:14:07 UTC on January 19, 2038, when the count of seconds since the Unix epoch (2,147,483,647) exceeds the maximum value of a signed 32-bit integer. C's classic time_t, Java int, and any legacy database column or embedded chip that stores timestamps in 32 bits will wrap around to a negative value, which decodes as December 13, 1901. Modern 64-bit systems, JavaScript Number, Python int, Postgres TIMESTAMP, and any time_t compiled as 64-bit are not affected. The risk lives in old embedded devices, firmware, file formats, and a long tail of unpatched servers. This calculator flags any epoch past 2,147,483,647 so you can spot inputs that will trip a 32-bit system.
Why does JavaScript use milliseconds when Unix uses seconds?
JavaScript Date uses milliseconds since the Unix epoch, while many Unix interfaces use seconds. A 10-digit contemporary timestamp is often seconds and a 13-digit one often milliseconds, but digit count is only a clue. Confirm the source format before multiplying or dividing by 1000.
How should I store dates with timezones in a database?
Store an instant in a database type with well-defined UTC semantics. If the original civil-time zone matters, store its IANA zone identifier separately because PostgreSQL TIMESTAMPTZ preserves the instant, not the zone name originally supplied. A local appointment may also need its intended wall time and zone so future rule changes can be handled deliberately.
What is ISO 8601 and why is it the right format for date strings?
ISO 8601 defines unambiguous year-first date and time representations, such as YYYY-MM-DDTHH:MM:SSZ. Support differs across languages and APIs, especially for optional forms, offsets, reduced precision, and zone names. Define the exact accepted profile at each system boundary instead of assuming every ISO 8601 form parses everywhere.
Related Calculators
More calculators in "Date & Time"
Days Until CalculatorPTO CalculatorShift CalculatorSnow Day PredictorAge at a Specific Date CalculatorBillable Hours Calculator
See all 53 calculators in "Date & Time"