TIME & DATE GUIDE

How to Convert a Unix Timestamp to a Date

Divide by 86,400, count days from January 1, 1970 — or let the converter do it. The epoch, seconds vs milliseconds, negative timestamps, and the 2038 problem, explained once and for all.

The short version

A Unix timestamp is the number of seconds since January 1, 1970, 00:00:00 UTC. To convert one by hand: divide by 86,400 (seconds per day) to get days since the epoch, then count forward on a calendar. 1792671060 ÷ 86,400 = 20,748.5 days — day 20,748 after the epoch is October 22, 2026, and the .5 means roughly noon UTC. The Unix timestamp converter does this instantly and also shows your local time, but the hand method below works anywhere — including in an interview.

What the epoch is and why 1970

The “epoch” is simply the agreed starting line: midnight UTC, January 1, 1970. Early Unix engineers at Bell Labs needed a zero point and picked a recent round date; by the time Unix spread everywhere, the choice was cemented. Timestamp 0 is that midnight, 86,400 is the next midnight, and 1,000,000,000 — the famous “billion-second” milestone — landed on September 9, 2001. Today the counter reads about 1.79 billion and ticks once per second, forever.

Why one integer instead of a readable date? Because integers are unambiguous. “03/04/2026” is March 4 in Europe and April 3 in America; time zones and daylight saving make date math treacherous. A timestamp is just a number line — subtract two of them and you have exact elapsed seconds, no calendar library required.

The hand method: divide by 86,400

Every day is defined as exactly 86,400 seconds (24 × 60 × 60 — Unix time ignores leap seconds). So:

Step 1. Divide the timestamp by 86,400. For 1792671060: 1792671060 ÷ 86,400 = 20,748.51…

Step 2. The whole part, 20,748, is complete days since January 1, 1970. Count forward — a spreadsheet’s date arithmetic or any “add days to date” tool lands on October 22, 2026.

Step 3. The fraction, .51, is the time of day: .51 × 24 ≈ 12.2 hours — just after noon UTC. (The exact value is 12:11:00.)

You don’t need to be precise to the second by hand — getting the date right and the hour roughly right is the whole point. For the exact minute and the weekday, use the converter.

Seconds vs milliseconds: count the digits

This is where most people trip. Ten digits = seconds (1792671060). Thirteen digits = milliseconds (1792671060000) — the same instant × 1,000. JavaScript’s Date.now(), MongoDB, and many JSON APIs speak milliseconds; Python’s time.time(), PHP’s time(), and most databases speak seconds.

Symptoms of mixing them up: feeding seconds into a milliseconds field gives a date in January 1970; feeding milliseconds into a seconds field gives the year 58,000-something. Multiply or divide by 1,000 and try again.

Going the other way: date to timestamp

Reverse the arithmetic: count days from January 1, 1970 to your date, multiply by 86,400, add the seconds past midnight. October 22, 2026 is day 20,748 after the epoch, so midnight UTC is 20,748 × 86,400 = 1,792,627,200; 12:11 PM adds 43,860 seconds → 1,792,671,060. In code it’s one line — Python: int(datetime(2026,10,22,12,11,tzinfo=timezone.utc).timestamp()) — and the converter’s reverse direction does it in the browser.

Negative timestamps: before the epoch

Nothing breaks before 1970 — the number line just goes negative. −1 is the last second of 1969; −86,400 is December 31, 1969. Historical dates, old file metadata, and birthdays before 1970 all convert the same way: divide by 86,400 and count backward from the epoch.

The 2038 problem in one paragraph

A signed 32-bit integer can hold at most 2,147,483,647 seconds — which the epoch reaches on January 19, 2038, at 03:14:07 UTC. Old embedded systems, file formats, and databases still storing time in 32 bits will wrap around to December 1901 at that instant, exactly like Y2K’s odometer fear. The industry’s fix was unglamorous and effective: store time in 64 bits, which overflows roughly 292 billion years from now.

Getting the current timestamp in code

JavaScript: Math.floor(Date.now() / 1000) · Python: int(time.time()) · PHP: time() · Bash: date +%s. Every one returns seconds since the epoch — paste the result into the converter to sanity-check it.

Practice: convert these

1. 0 → the epoch itself: January 1, 1970, 00:00:00 UTC.
2. 1,000,000,000 → September 9, 2001 (the billion-second party).
3. 2,000,000,000 → May 18, 2033 — note it’s still inside the 32-bit range, but 2038 is coming.

Check your answers against the Unix timestamp converter — then try your own birthdate in the reverse direction.

Cite this pageBright Side Kit. “How to Convert a Unix Timestamp to a Date.” brightoolbox.com, 2026.Bright Side Kit. "How to Convert a Unix Timestamp to a Date." https://brightoolbox.com/guides/how-to-convert-unix-timestamp/ Accessed October 22, 2026.
Embed this guide

Paste this into any web page to embed the live guide. The “Bright Side Kit” link below it must stay intact.

Frequently asked questions

What is a Unix timestamp in simple terms?

A stopwatch that started at midnight UTC on January 1, 1970 and has been counting seconds ever since. The current reading — about 1.79 billion — uniquely identifies this moment.

How do I convert a Unix timestamp without a tool?

Divide by 86,400 to get days since January 1, 1970, then count forward on a calendar. 1792671060 ÷ 86,400 = 20,748.5 days → October 22, 2026, about noon UTC.

How can I tell seconds from milliseconds?

Count the digits: 10 means seconds, 13 means milliseconds. Wrong-unit symptoms: a 1970 date (seconds fed as ms) or a year in the tens of thousands (ms fed as seconds).

What timezone is a Unix timestamp in?

None — that’s the point. A timestamp names one universal instant; time zones only enter when you display it. The converter shows both UTC and your local time side by side.

Will my code break in 2038?

Only if it stores timestamps in signed 32-bit integers — they overflow on January 19, 2038. 64-bit time (the default in modern languages) is safe for ~292 billion years.

Where do Unix timestamps show up in real life?

API responses, JWT tokens, database created_at columns, file metadata, cookies, and log files. Whenever you see a mysterious 10-digit number near 1.7–1.8 billion, it’s probably a timestamp.