01 / From local dates to comparable instants
Logs, databases and messages need comparable instants. A local date such as November 7 at 3 p.m. lacks a year and zone, and date formats vary by region. Unix/POSIX time uses 1970-01-01 00:00:00 UTC as a reference so systems can exchange numbers and display regional dates. The epoch is a convention, not the beginning of time.
Seconds and milliseconds are interface choices, not properties of a timestamp. Ten-digit seconds and thirteen-digit milliseconds are common today, but digit count cannot identify every historical or future value. Confusing the units can produce a date near 1970 or an out-of-range value. This page gives a hint without changing your selected unit.
Negative timestamps precede the epoch: −1 millisecond is 1969-12-31T23:59:59.999Z. Timestamps are not a perfect global sequence; clocks can be corrected, moved backward or disagree between machines. Measure program durations with a monotonic clock, not by subtracting wall-clock readings.
02 / Time zones preserve changing rules
A UTC offset describes the difference at one instant. A time zone describes a region's rules over history. Standard time and daylight-saving changes mean New York is not always UTC−5. The IANA database records those rules; names such as Asia/Shanghai and America/New_York identify which rules to apply.
An instant maps to one local time in a zone, but the reverse can be ambiguous. In New York's 2024 spring transition, 02:30 did not exist; in autumn, 01:30 occurred twice. Local dates without offsets need a zone and sometimes an ambiguity policy. This page rejects ambiguous input by default. Explicit earlier/later choices resolve it, shifting missing times in the chosen direction.
Time-zone data changes, particularly future rules. This page uses the browser's zone data, not an independent online authority. An ISO date with a fixed offset already identifies an instant. The selected IANA zone affects its display, without replacing the supplied offset.
03 / Calendar days are not always 24 hours
The same time tomorrow and 24 hours later are different requests. Daylight-saving changes can make a local calendar day 23 or 25 hours long. Subscriptions and daily reminders often need calendar and regional rules; duration measurements need elapsed time between two instants.
The New York midnights on March 10 and 11, 2024 were 23 hours apart. This page subtracts instants and treats each day as 24 elapsed hours. It does not infer months: their lengths differ, and adding months at month-end requires a truncation policy. Define the requirement before choosing a convenient format.
In ISO 8601, Z means UTC and +08:00 a fixed offset. A date without an offset does not mean UTC. This page avoids permissive Date.parse and rejects regional formats such as 11/07/2026. Explicit formats keep copied and exchanged dates consistent.
2038, leap seconds and precision limits
A signed 32-bit seconds counter ends at 2147483647, or 2038-01-19T03:14:07Z. The next second does not fit in that field. This is a representation limit in older systems, not a universal end to Unix time. Wider integers address capacity, but units, field types and language conversions still need agreement.
UTC can contain leap seconds, while POSIX counts with a model of 86400 seconds per calendar day and cannot independently represent every leap second. Systems may repeat, pause or smear clock readings. Timestamp subtraction is not a strict atomic time-scale measurement. This page rejects :60 and does not convert TAI, GPS or leap seconds.
Precision is one millisecond. Millisecond timestamps must be integers; seconds allow up to three decimal places. UTC years 0001–9999 are supported. Calculations use Temporal; JSON exports store timestamps and durations as strings to avoid implicit numeric conversion. Content is neither uploaded nor automatically saved. Current time comes from your device clock.