1704067200 Unix 时间戳
1704067200 = 2024-01-01 00:00:00 UTC
1704067200 是 2024-01-01 00:00:00 UTC
Unix 时间戳 1704067200 等于 2024-01-01T00:00:00.000Z — 2024年1月1日星期一 00:00:00 UTC。该值表示自 Unix 纪元(1970-01-01 00:00:00 UTC)以来经过的秒数。
秒 vs 毫秒
1704067200 是 Unix 秒。JavaScript、Java 以及部分数据库驱动需要 Unix 毫秒 — 同一时刻,值 × 1000。
- Unix 秒: 1704067200
- Unix 毫秒: 1704067200000
- ISO 8601 UTC: 2024-01-01T00:00:00.000Z
- 2024 年的第几天: 1
各时区对应值
1704067200 是同一个瞬间,但显示出的日期和时间因时区而异。
- UTC: 2024-01-01 00:00:00
- America/New_York: 2023-12-31 19:00:00
- America/Los_Angeles: 2023-12-31 16:00:00
- Europe/London: 2024-01-01 00:00:00
- Europe/Berlin: 2024-01-01 01:00:00
- Asia/Shanghai: 2024-01-01 08:00:00
- Asia/Tokyo: 2024-01-01 09:00:00
- Australia/Sydney: 2024-01-01 11:00:00
在代码中转换
最常被问到的语言的一行解法。JavaScript Date 需要乘 1000。
- JavaScript: new Date(1704067200 * 1000).toISOString() → "2024-01-01T00:00:00.000Z"
- JavaScript (ms form): new Date(1704067200000).toISOString()
- Python: datetime.fromtimestamp(1704067200, tz=timezone.utc)
- Python ISO: datetime.fromtimestamp(1704067200, tz=timezone.utc).isoformat()
- Linux: date -u -d @1704067200
- macOS: date -u -r 1704067200
- Go: time.Unix(1704067200, 0).UTC()
- SQL (PostgreSQL): SELECT to_timestamp(1704067200) AT TIME ZONE 'UTC';
- SQL (MySQL): SELECT FROM_UNIXTIME(1704067200);
常见错误:JavaScript 中的 new Date(1704067200)
JavaScript 的 Date 构造器需要毫秒。直接传入秒值会让 Date 把它当成 1,704,067,200 毫秒 — 距离纪元只有几周。结果落在 1970 年初。
- 正确: new Date(1704067200 * 1000) → 2024-01-01T00:00:00.000Z
- 错误: new Date(1704067200) → 1970-01-20T17:21:07.200Z
- 快速规则:10 位数字是秒;13 位数字是毫秒。
1704067200 时间戳常见问题
- Unix 时间戳 1704067200 对应的日期是?
- 1704067200(Unix 秒)对应 2024-01-01T00:00:00.000Z — 2024年1月1日星期一 00:00:00 UTC。
- 1704067200 转成毫秒是多少?
- 1704067200000 毫秒是同一时刻 — 这是 JavaScript Date 和 Java Instant 期待的形式。
- 为什么 new Date(1704067200) 显示 1970?
- JavaScript Date 接收毫秒。把秒值当作毫秒解读会指向 1970 年初。请改用 new Date(1704067200 * 1000)。
- 如何在 shell 中转换 1704067200?
- Linux:date -u -d @1704067200。macOS:date -u -r 1704067200。两者都返回 UTC 日期。