Get accurate system time information in multiple formats.
bash
date # Human readable
date -Iseconds # ISO 8601 with seconds
date +%s # Unix timestamp
bash
date -u # UTC human readable
date -u -Iseconds # UTC ISO 8601
date -u +%s # UTC Unix timestamp (same as local)
bash
TZ=Asia/Shanghai date # Shanghai time
TZ=America/New_York date # New York time
TZ=Europe/London date # London time
FormatCommandExample OutputISO 8601date -Iseconds2024-03-11T16:30:00+08:00Unix timestampdate +%s1710145800RFC 2822date -RMon, 11 Mar 2024 16:30:00 +0800Customdate "+%Y-%m-%d %H:%M:%S"2024-03-11 16:30:00
Convert from one timezone to another:
bash
# Convert specific time from Shanghai to New York
TZ=America/New_York date -d "2024-03-11 16:30:00 CST"
# List available timezones
ls /usr/share/zoneinfo/
python
from datetime import datetime, timezone
# Current UTC time
utc_now = datetime.now(timezone.utc)
print(utc_now.isoformat())
# Current local time
local_now = datetime.now()
print(local_now.isoformat())
# Unix timestamp
print(int(utc_now.timestamp()))
timedatectl on Linux systems for system clock info