·4分钟阅读

Mac的Unix时间戳转换器

日志行读取1743984000,你需要知道那是三小时前还是三周前,而不是手工做数学。

Unix时间戳对机器完美,对人类无用。每个日志聚合器、数据库记录和API响应似乎将时间存储为原始整数,计算自1970年1月1日以来的秒数,每个开发人员都曾在某个点尝试目测是否1725580800是最近还是古老的。

通常的退路是快速Google搜索 — "1725580800到日期" — 有效但为某件应该花两秒钟查找的事添加浏览器往返。或者你在语言控制台中写一个单线:浏览器JS控制台中的new Date(1725580800000),记得乘以1000毫秒,希望你没有在第一位混淆秒和毫秒。

秒vs毫秒:经典陷阱

Unix时间通常是秒,但JavaScript的Date对象期望毫秒,某些API(特别是那些基于JavaScript构建的)默认返回毫秒时间戳。混淆这些会给你一个日期,要么疯狂地在未来,要么卡住1970年代的代纪中 — 在调试"为什么这个日期看起来是错的"问题时,每个开发人员至少犯过一次的错误。

时区增加了另一层。时间戳转换为特定的瞬间,但在你的本地时间与UTC与服务器时区中显示它可以使相同值看起来像三个完全不同的时间,当你试图将错误与部署关联时这很重要。

立即双向转换

Bellows包括一个时间戳转换器,将Unix时间戳变为可读的日期和时间,并将日期转换回时间戳 — 两个方向,无需数学。它处理秒与毫秒的歧义,所以你不必猜测。

Bellows Unix时间戳转换器在macOS上显示日期和时间输出

调试日志和数据库

日志聚合器、数据库行和API有效负载以原始数字形式存储时间远比作为可读字符串。在追踪事件时转换一些时间戳是在任何严肃调试会话期间发生数十次的小任务。

调度和到期逻辑

缓存到期、令牌过期和计划作业时间戳都在底层是Unix时间。快速检查给定的到期值实际对应什么壁钟时间帮助你验证你的TTL逻辑正在做你认为它在做的事情。

在Mac应用商店获取Bellows

下一篇文章

Bellows

41 developer tools in one native Mac app — JSON, JWT, Base64, hashes, and more.

Get Bellows on the Mac App Store