Epoch Time in Python
Python's time and datetime modules make it easy to work with Unix timestamps. Here's the complete reference.
Get the current Unix timestamp
Python
import time
int(time.time()) # seconds, e.g. 1700000000
time.time() # float with sub-second precision
time.time_ns() # nanoseconds (Python 3.7+)
time.time_ns() // 1_000_000 # millisecondsConvert epoch to datetime
Python
from datetime import datetime, timezone
epoch = 1700000000
# UTC datetime (recommended — always timezone-aware)
dt_utc = datetime.fromtimestamp(epoch, tz=timezone.utc)
print(dt_utc) # 2023-11-14 22:13:20+00:00
print(dt_utc.isoformat()) # "2023-11-14T22:13:20+00:00"
# Local time (naive — no timezone info)
dt_local = datetime.fromtimestamp(epoch)
print(dt_local)
# UTC only (alternative)
dt_utc2 = datetime.utcfromtimestamp(epoch) # naive UTCConvert datetime to epoch
Python
from datetime import datetime, timezone
# From an aware datetime (recommended)
dt = datetime(2023, 11, 14, 22, 13, 20, tzinfo=timezone.utc)
epoch = int(dt.timestamp()) # 1700000000
# From a naive datetime (assumes local time)
dt_naive = datetime(2023, 11, 14, 22, 13, 20)
epoch = int(dt_naive.timestamp())
# From a date string
dt = datetime.fromisoformat("2023-11-14T22:13:20+00:00")
epoch = int(dt.timestamp())Handle timezones with zoneinfo (Python 3.9+)
Python
from datetime import datetime
from zoneinfo import ZoneInfo
epoch = 1700000000
# Convert to a specific timezone
dt_ist = datetime.fromtimestamp(epoch, tz=ZoneInfo("Asia/Kolkata"))
print(dt_ist) # 2023-11-15 03:43:20+05:30
dt_ny = datetime.fromtimestamp(epoch, tz=ZoneInfo("America/New_York"))
print(dt_ny) # 2023-11-14 17:13:20-05:00Format a timestamp as string
Python
from datetime import datetime, timezone
dt = datetime.fromtimestamp(1700000000, tz=timezone.utc)
dt.strftime("%Y-%m-%d %H:%M:%S") # "2023-11-14 22:13:20"
dt.strftime("%d/%m/%Y %H:%M") # "14/11/2023 22:13"
dt.isoformat() # "2023-11-14T22:13:20+00:00"Add / subtract time
Python
from datetime import datetime, timezone, timedelta
now = datetime.now(timezone.utc)
one_day_later = now + timedelta(days=1)
one_hour_ago = now - timedelta(hours=1)
thirty_days = now + timedelta(days=30)
# Back to epoch
int(one_day_later.timestamp())Parse common log timestamp formats
Python
from datetime import datetime, timezone
# ISO 8601
datetime.fromisoformat("2023-11-14T22:13:20+00:00")
# Custom format
datetime.strptime("14/Nov/2023:22:13:20 +0000", "%d/%b/%Y:%H:%M:%S %z")
# Unix ms from JS (e.g. Date.now())
ms = 1700000000000
datetime.fromtimestamp(ms / 1000, tz=timezone.utc)→ Use the live epoch converter to convert any Python timestamp instantly.