时间戳与日期时间互转
Unix 时间戳用于表示一个明确瞬间,而日期时间是这个瞬间在某个时区下的日历表达。本工具提供时间戳转日期和日期转时间戳两个标签,支持秒级与毫秒级,也能分别按本地时间和 UTC 查看。需要核对系统导出的数字、阅读日志时间或统一不同形式的时间记录时,可以先确定单位,再选择显示时区。工具不调用服务器接口,输入和转换在当前浏览器中完成。
Unix 时间戳的起点
Unix 时间戳以 1970 年 1 月 1 日 00:00:00 UTC 为起点,记录相对于该瞬间经过的时间。0 秒对应这一 UTC 时刻,负数表示起点之前,正数表示起点之后。时间戳自身不带时区,同一个数字可以显示为不同地区的本地日期,但所代表的瞬间相同。Unix 时间通常不单独编码闰秒,本工具遵循 JavaScript Date 的常规时间轴,也不将时间戳当作纯日期天数来计算。
秒级与毫秒级如何区分?
秒级每增加 1 表示一秒,毫秒级每增加 1000 才表示一秒。JavaScript Date 内部以毫秒为单位,因此秒级输入会先乘以 1000,毫秒级输入直接使用。现在常见的秒级数字有 10 位,毫秒级有 13 位,但历史、负数、0 或很远的未来不符合固定长度。工具提供明确单位下拉框,不能仅凭位数决定真实含义;填写前应查看数据来源对单位的说明。
自动识别只是一个建议
点击识别单位时,工具按数值绝对值的量级建议秒或毫秒,绝对值达到 100000000000 时建议毫秒,较小值建议秒。此规则考虑负号和旧日期,不只是检查字符串位数,但仍无法确定数据来源的真实单位。例如很早的毫秒时间戳或非常远的未来秒值可能被建议成另一单位。识别后可以手动覆盖,工具不会静默改写结果。转换前请确认单位,特别是输入 0、较短数字或历史数据时。
本地时间与 UTC 的区别
本地时间使用浏览器设备当前时区,页面会显示时区名称;UTC 是不随地区切换的统一显示方式。0 秒在 UTC 模式为 1970-01-01 00:00:00,在北京时间通常显示为 1970-01-01 08:00:00,两者指同一个瞬间。日期时间转时间戳时,选项决定输入如何解释,而不是只改变结果标签。把 08:00 按 UTC 解释与按北京时间解释,会得到不同的时间戳,需要在转换前确认。
日期时间输入与夏令时边界
日期时间使用 YYYY-MM-DD HH:mm:ss 或日期时间选择器,日期部分必须有效,小时、分钟与秒也必须合法。本地时区若实行夏令时,有些时刻在跳转中不存在,工具会提示该本地时间不存在,建议改用 UTC 或另一时刻。秋季回拨时,某个钟面时刻可能出现两次,浏览器默认取较早偏移。本工具没有额外偏移输入,需要精确区分重复时刻时,应先得到明确的 UTC 时间再转换。
负数、零与毫秒精度
工具接受整数 0、负整数以及支持范围内的未来时间戳。时间戳转日期的主要显示格式为 YYYY-MM-DD HH:mm:ss,毫秒部分另列,避免看不到原输入的毫秒信息。毫秒时间戳换算为秒时可能出现小数,这属于结果的精度表达;输入时间戳要求整数,并通过单位选项明确精度。超出 JavaScript Date 或安全整数范围、空值以及非数字输入都会提示错误,不输出 Invalid Date。
核对结果与常见误用
先确认数字单位,再核对时区,最后比对输出的 UTC、本地时间与秒级、毫秒级结果。毫秒级错选为秒级可能变成异常遥远的未来,不能仅因输出是一条有效日期就认为单位正确。日期转时间戳时,当前日期时间默认来自本地设备,切换 UTC 后需要重新理解输入含义。修改表单后请重新计算。时间戳适合表示瞬间,日期相差适合统计公历天数,年龄则按生日判断,两类规则不应混用。
保存转换结果时保留解释信息
记录时间戳时最好把单位与显示时区放在数字旁边,而不是依靠读者自行猜测。日期时间没有时区标签时,来自不同设备的记录可能看起来不同,实际却代表同一个瞬间;相反,同样的钟面日期在不同时区也可能代表不同瞬间。复核时优先比较统一单位的时间戳,再看便于阅读的日期表达。工具同时给出多种形式,是为了核对解释是否一致,不会为用户推断原始数据的真实来源。