日期转 epoch 转换器
选择日历日期、时间和时区,然后把该本地挂钟时间转换为 Unix 秒和毫秒。适用于 API、cron 任务、日志、数据库行和测试。
将人类日期转换为 Unix 时间
本页处理反向转换:从一个日期、一个钟表时间,以及应当解释该时间的时区开始。结果是一个单一的 Unix 时间戳,在任何地方都表示同一时刻。
何时使用秒或毫秒
大多数后端语言、数据库和命令行工具使用秒。JavaScript Date、浏览器 API、分析事件以及需要亚秒级精度的系统使用毫秒。
- 对于现代日期,Unix 秒通常是 10 位
- 对于现代日期,Unix 毫秒通常是 13 位
- 当你需要带显式 UTC 输出的可读字符串时,ISO 8601 最合适
- UTC 字符串适用于 HTTP 头、日志和快速的人工核对
时区处理
像 2026-05-14 08:00 这样的本地日期,在洛杉矶、纽约、伦敦或东京表示不同的时刻。在转换前选择时区可避免相差整小时的错误,并通过浏览器的 Intl API 处理夏令时规则。
选择正确的日期边界
当生成数字之前日历含义已经清晰时,日期转 epoch 最为有用。对于计划任务、报表窗口和数据库过滤器,请先确定边界是 UTC 还是业务时区。然后将那个确切的钟表时间转换为秒和毫秒,使每个服务比较的是同一时刻。
- 日志、API、CI 任务和跨区域后端系统使用 UTC
- 本地计费日、营业时间或面向用户的日历使用业务时区
- 对于日期范围,优先使用排他上界,如 created_at < nextDayStart
- 保存生成的时间戳时,附上一条关于时区假设的简短说明
夏令时空档、模糊的本地时间与民用时间
大多数日期转 epoch 的转换是明确的,但每年两次的切换打破了「已知时区的钟表日期对应单一 Unix 时间戳」这一假设。春季前拨的空档会抹去一个钟表小时;秋季回拨的重叠会重复一个。现代日期库通过区分无时区值与有时区值,并提供显式的消歧选择来处理这一点。
- 民用/钟表时间:特定地点本地时钟的读数
- 无时区:没有时区的日期时间——本质上是模糊的
- 有时区:带 IANA 时区标记的日期时间——几乎总是明确的
- 夏令时空档(春季前拨):在大多数美国时区,切换当天本地时间 02:00 到 02:59 不存在
- 夏令时重叠(秋季回拨):本地时间 01:00 到 01:59 出现两次——选择「较早」或「较晚」
- Python:zoneinfo 提供 fold 属性(0 或 1)用于消歧
- JavaScript Temporal:ZonedDateTime 的构造接受一个消歧选项(「compatible」「earlier」「later」「reject」)
- Java:ZonedDateTime.ofLocal() 应用所提供 ZoneId 的空档/重叠规则
- 对于没有显式时区的表单输入,默认使用用户的 IANA 时区——而非服务器的
将时间转换为 Unix 时间戳 —— 日期转 epoch、时间转 epoch
落到本页的常见搜索表述包括「convert time to unix timestamp」「time to epoch」「date to epoch」「convert timestamp to unix timestamp」「unix to timestamp」「unix time to timestamp」和「convert unix epoch」。它们都描述同一操作:选择一个钟表日期和时区,转换器返回以秒和毫秒表示的 Unix 纪元整数。反方向(epoch to date、epoch time to date、convert unix timestamp to time)在「纪元转日期」页面。
- date to epoch / time to epoch / convert time to unix timestamp
- unix to timestamp / unix time to timestamp / convert timestamp to unix timestamp
- convert unix epoch / convert from unix timestamp
- 输出形式:10 位秒、13 位毫秒、ISO 8601、UTC 字符串