How to Convert Unix Timestamps to Dates (Epoch Converter)

2 min read
Beginner Timestamp Unix Epoch Developer

You see 1711929600 in a database, API response, or log file. What date is that? Or you need to send a date to an API but it wants a Unix timestamp. This is an everyday task for developers and anyone working with data.

Convert Timestamps Now

Use our free Unix Timestamp Converter — paste a timestamp to see the date, or pick a date to get the timestamp. Shows the current epoch time in real time.

What is a Unix Timestamp?

A Unix timestamp (also called epoch time) is the number of seconds that have passed since January 1, 1970 at 00:00:00 UTC. That moment is called the "Unix epoch."

Timestamp: 1711929600
Date:      April 1, 2024 12:00:00 AM UTC

Why This Format Exists

  • Universal — no timezone confusion, no date format ambiguity (is 01/02/03 January 2nd or February 1st?)
  • Easy math — add 86400 to get tomorrow, subtract 3600 to go back one hour
  • Compact — one number instead of a date string
  • Sortable — larger number = later date, simple comparison

Common Timestamps

Timestamp Date
0 Jan 1, 1970 00:00:00 UTC (the epoch)
1000000000 Sep 9, 2001 (the "billion second" moment)
1711929600 Apr 1, 2024
1777766400 Apr 2, 2026
2000000000 May 18, 2033
2147483647 Jan 19, 2038 (Y2K38 — 32-bit overflow)

Convert in Code

JavaScript

// Timestamp to date
new Date(1711929600 * 1000).toISOString()
// "2024-04-01T00:00:00.000Z"

// Date to timestamp
Math.floor(new Date("2024-04-01").getTime() / 1000)
// 1711929600

// Current timestamp
Math.floor(Date.now() / 1000)

Note: JavaScript uses milliseconds, Unix uses seconds — multiply/divide by 1000.

Python

import datetime

# Timestamp to date
datetime.datetime.fromtimestamp(ts, tz=datetime.timezone.utc)  # Always use UTC
# Old (local time, unreliable): datetime.datetime.fromtimestamp(1711929600)
# datetime(2024, 4, 1, 0, 0)

# Date to timestamp
int(datetime.datetime(2024, 4, 1).timestamp())
# 1711929600

# Current timestamp
import time
int(time.time())

Bash

# Timestamp to date
date -d @1711929600
# Mon Apr  1 00:00:00 UTC 2024

# Current timestamp
date +%s

# Date to timestamp
date -d "2024-04-01" +%s

Seconds vs Milliseconds

Some systems use milliseconds instead of seconds:

System Format Example
Unix/Linux Seconds 1711929600
JavaScript Milliseconds 1711929600000
Java Milliseconds 1711929600000
Databases (varies) Either Check documentation

If your timestamp is 13 digits, it is milliseconds. 10 digits = seconds.

The Y2K38 Problem

32-bit systems store timestamps as a signed 32-bit integer, maxing out at 2147483647 — which is January 19, 2038 at 03:14:07 UTC. After that, the number overflows and wraps to a negative value (interpreted as December 1901).

This is similar to the Y2K bug. Most modern systems use 64-bit timestamps now, which last until the year 292 billion. But embedded systems, older databases, and legacy software may still be affected.

Related Tools