2145916800 Unix 时间戳
2145916800 = 2038-01-01 00:00:00 UTC
2145916800=2038-01-01 00:00:00 UTC
Unix seconds2145916800
Unix milliseconds2145916800000
ISO 8601 UTC2038-01-01T00:00:00.000Z
In code
JavaScript: new Date(2145916800 * 1000).toISOString()
Python: datetime.fromtimestamp(2145916800, tz=timezone.utc)
Linux: date -u -d @2145916800
macOS: date -u -r 21459168002145916800 是 2038-01-01 00:00:00 UTC
Unix 时间戳 2145916800 等于 2038-01-01T00:00:00.000Z(Friday, January 1, 2038, 24:00:00 UTC)。该值是自 Unix 纪元(1970-01-01 00:00:00 UTC)以来经过的秒数。
秒与毫秒
2145916800 是 Unix 秒。JavaScript、Java 和若干数据库驱动则期望 Unix 毫秒——同一时刻,值 × 1000。
- Unix 秒:2145916800
- Unix 毫秒:2145916800000
- ISO 8601 UTC: 2038-01-01T00:00:00.000Z
- 年内日序 2038: 1
本地时区对应值
2145916800 是单一时刻;钟表上的日期和时间因时区而异。
- UTC: 2038-01-01 00:00:00
- America/New_York: 2037-12-31 19:00:00
- America/Los_Angeles: 2037-12-31 16:00:00
- Europe/London: 2038-01-01 00:00:00
- Europe/Berlin: 2038-01-01 01:00:00
- Asia/Shanghai: 2038-01-01 08:00:00
- Asia/Tokyo: 2038-01-01 09:00:00
- Australia/Sydney: 2038-01-01 11:00:00
在代码中转换
针对最常被问到的语言的单行代码。对 JavaScript Date 乘以 1000。
- JavaScript: new Date(2145916800 * 1000).toISOString() → "2038-01-01T00:00:00.000Z"
- JavaScript (ms form): new Date(2145916800000).toISOString()
- Python: datetime.fromtimestamp(2145916800, tz=timezone.utc)
- Python ISO: datetime.fromtimestamp(2145916800, tz=timezone.utc).isoformat()
- Linux: date -u -d @2145916800
- macOS: date -u -r 2145916800
- Go: time.Unix(2145916800, 0).UTC()
- SQL (PostgreSQL): SELECT to_timestamp(2145916800) AT TIME ZONE 'UTC';
- SQL (MySQL): SELECT FROM_UNIXTIME(2145916800);
常见错误:new Date(2145916800) in JavaScript
JavaScript 的 Date 构造函数接受毫秒。把秒值原样传入会让 Date 把它解释为 2,145,916,800 毫秒——仅在纪元之后几周。结果落在 1970 年初。
- 正确: new Date(2145916800 * 1000) → 2038-01-01T00:00:00.000Z
- 错误: new Date(2145916800) → 1970-01-25T20:05:16.800Z
- 速记规则:10 位数字是秒;13 位数字是毫秒。
FAQ
- Unix 时间戳 2145916800 是什么日期?
- 2145916800 以 Unix 秒计是 2038-01-01T00:00:00.000Z(Friday, January 1, 2038, 24:00:00 UTC)。
- 2145916800 用毫秒是多少?
- 2145916800000 毫秒是同一时刻——JavaScript Date 和 Java Instant 期望的形式。
- 为什么 new Date(2145916800) 显示 1970?
- JavaScript Date 接受毫秒。把秒值当作毫秒会指向 1970 年初。请改用 new Date(2145916800 * 1000)。
- 2145916800 在 shell 中如何转换?
- Linux: date -u -d @2145916800. macOS: date -u -r 2145916800. 两者都返回 UTC 日期。