| Unix timestamp (seconds) | 0 |
|---|---|
| In milliseconds | 0 |
| UTC date & time | Thursday, January 1, 1970, 00:00:00 UTC |
| Day of week (UTC) | Thursday |
| ISO 8601 | 1970-01-01T00:00:00Z |
| RFC 2822 | Thu, 01 Jan 1970 00:00:00 +0000 |
| Your local time | — |
What does the timestamp 0 mean?
Every Unix timestamp on the planet is counted from this one moment. The value 0 represents the zero point of Unix time itself: Thursday, January 1, 1970 at 00:00:00 UTC. Understanding this anchor point is the key to understanding every other timestamp you will ever decode.
Timestamp 0 is the moment from which every other Unix timestamp is measured. It marks midnight at the start of January 1, 1970, in Coordinated Universal Time. A timestamp is simply the number of seconds that have elapsed since this instant. Negative timestamps reach back before it; positive timestamps reach forward.
The exact value, every way you need it
A Unix timestamp is a single integer: the count of seconds elapsed since the Unix epoch (midnight UTC on January 1, 1970), ignoring leap seconds. The value 0 seconds is the same instant as 0 milliseconds — the form most programming languages expect, since JavaScript, Java, and many databases store time in milliseconds. Written out in full it is Thursday, January 1, 1970 at 00:00:00 UTC, which is a Thursday. In the two most common machine-readable formats it is 1970-01-01T00:00:00Z (ISO 8601) and Thu, 01 Jan 1970 00:00:00 +0000 (RFC 2822). All of these describe one and the same moment in time; they differ only in notation.
How to convert 0 in code
Turning this timestamp into a human-readable date takes a single expression in most languages. In JavaScript, remember to multiply by 1000 because Date works in milliseconds: new Date(0 * 1000).toUTCString(). Here are the equivalents in three common environments:
// JavaScript const ts = 0; const date = new Date(ts * 1000); // JS uses milliseconds console.log(date.toUTCString()); // Thu, 01 Jan 1970 00:00:00 GMT console.log(date.toISOString()); // 1970-01-01T00:00:00Z
# Python 3 from datetime import datetime, timezone ts = 0 print(datetime.fromtimestamp(ts, tz=timezone.utc)) # 1970-01-01 00:00:00+00:00
# Bash / GNU date date -u -d @0 # Thu, 01 Jan 1970 00:00:00 UTC # macOS / BSD date date -u -r 0
If you would rather not write code at all, the Epoch Converter is pre-loaded with 0 so you can see it converted instantly and tweak the value live.
How long ago (or how far away) is it?
The headline near the top of this page updates every time you load it, computing the gap between 0 and your current clock in real time so it never goes stale. To measure the span between this timestamp and any other date precisely — in years, months, weeks, days, or business days — use the Date Duration Calculator. To watch a future moment tick down second by second, the Countdown Timer can target this exact instant.
Why timestamps matter
Storing time as a plain integer of seconds is wonderfully unambiguous: there is no time zone, no daylight saving, and no locale to misinterpret. Two servers anywhere on Earth agree on what 0 means. That is why logs, databases, JWTs, file metadata, and APIs lean on Unix time so heavily. The trade-off is that the number is not human-friendly at a glance — which is exactly the gap a reference like this page fills.
Related timestamps
Other notable Unix timestamps worth a look:
- 2145916800 — Start of 20382147483647 — The Y2038 Limit86400 — One Day After the Epoch1000000 — One Million Seconds