跳到主要内容
PulsarKit

时间戳转换

把Unix时间戳转换成易读的日期,也能反向转换。支持秒和毫秒,可选任意IANA时区。

如何转换Unix时间戳

  1. 1

    粘贴时间戳或选择日期

    可以在“时间戳转日期”和“日期时间转时间戳”两种方向之间切换。秒和毫秒都支持。

  2. 2

    选择时区

    选择任意IANA时区,或保留浏览器报告的当前时区。该日期对应的夏令时偏移会自动计入。

  3. 3

    查看转换结果

    结果同时以ISO 8601、RFC 2822和本地格式显示,还会给出“3天前”这样的相对时间。

秒和毫秒的区别

Unix时间是从1970年1月1日00:00:00 UTC起经过的秒数。很多系统,包括JavaScript自带的Date对象,记录的却是从同一时刻起经过的毫秒数,同一时刻的数值要大一千倍。把两者混用是最常见的时间戳错误:毫秒值当成秒来读,会落到1970年;秒值当成毫秒来读,几乎停在纪元起点附近。这个工具始终把两种单位并排显示,出错一眼就能看出来。

本地时间、时区和夏令时

在表单里输入的日期时间,比如“2026-09-01 12:00”,本身不带时区。只有说明这个钟面时间属于哪个时区,它才有确定的含义。把它转换成时间戳,需要算出那一天实际生效的UTC偏移,而这个偏移在夏令时切换前后会变化。这个工具按实际日期重新推算偏移,不假定一个固定值:纽约7月的日期按EDT(UTC−4)转换,1月的日期则正确地按EST(UTC−5)转换。

任何内容都不会发送到服务器

从解析时间戳、推算时区偏移到格式化结果,整个转换过程都在浏览器中完成,用的是浏览器内置的Intl API。在这里输入的时间戳、日期和所选时区都不会离开当前标签页。

常见问题

Unix时间戳的秒和毫秒有什么区别?

两者都是从1970年1月1日UTC起经过的时间,但同一时刻,以秒为单位的时间戳比以毫秒为单位的小一千倍。按数字的来源选择单位:大多数数据库和API用秒,而JavaScript的Date.now()返回毫秒。

为什么JavaScript的日期范围到275760年为止?

ECMA-262规范把Date对象限制在纪元前后各8,640,000,000,000毫秒以内,换算下来每个方向约273,790年。这是语言本身固定的工程限制,不是错误,也不是这个工具随意定的。

夏令时切换时,本地时间怎么换算成UTC?

这个工具先估算一个UTC时刻,再检查这个时刻在目标时区里实际对应的钟面时间,然后按差值修正,并再重复一次。这样即使正好处在夏令时开始或结束的边界上,结果也是准确的。

时间戳会发送到服务器吗?

不会。所有计算都在浏览器本地完成,用的是浏览器已内置的Intl API。转换时间戳或日期不涉及任何网络请求。

“3天前”这样的相对时间是什么意思?

它用最合适的大单位(秒、分钟、小时、天、月或年)表示转换出的时刻与现在的差距,说法和操作系统在通知和文件时间上用的一样。

默认选择的是哪个时区?

就是浏览器为你的系统报告的时区,通过Intl.DateTimeFormat检测。也可以在下拉列表里切换到任意IANA时区,包括单纯的UTC。

为什么ISO 8601和RFC 2822显示的偏移不一样?

它们表示的是同一时刻,只是格式规则不同。UTC下的ISO 8601用末尾的“Z”表示零偏移,而RFC 2822总是写出数字偏移,比如“+0000”。选择UTC以外的时区后,两种格式显示的数字偏移相同,只是写法不同。

相关工具