64位时间戳转换成秒:把64秒换算为毫秒与UTC

64位时间戳转换成秒的结果是:输入64时,unix为64,即64秒;milliseconds为64000,即64000毫秒;iso为1970-01-01T00:01:04.000Z;utc为1970-01-01 00:01:04。也就是说,参数64在秒单位下表示Unix纪元开始后的第64秒,对应UTC时间1970年1月1日0时1分4秒。

在线工具时间戳转换

计算结果与含义

把参数64作为64位时间戳的秒值来解释,得到一组固定输出。unix为64,表示从1970-01-01T00:00:00Z起算的64秒;milliseconds为64000,表示同样的时间跨度在毫秒单位下写作64000毫秒;iso为1970-01-01T00:01:04.000Z;utc为1970-01-01 00:01:04。这里的64不是64位整数的位数,而是时间戳本身在秒单位下的数值。由于它落在1970年1月1日的第1分钟,换算结果呈现出“0时1分4秒”的形态。

计算步骤:逐步代入64

第一步,取参数64作为秒值,得到unix=64。第二步,把秒换算成毫秒:64秒乘以1000,得到64000毫秒,因此milliseconds=64000。第三步,把64秒加到Unix纪元起点1970-01-01T00:00:00Z上,得到iso=1970-01-01T00:01:04.000Z。第四步,把同一时刻写成不带T和Z的UTC格式,得到utc=1970-01-01 00:01:04。如果只看分钟与秒,64秒等于1分4秒,因此时间部分显示为00:01:04。整个换算没有出现小数秒,毫秒部分固定为000。

相邻参数对照说明

把64放在相邻参数中对照,可以看到秒值每变化1,UTC时间就变化1秒。输入63时,unix为63,milliseconds为63000,iso为1970-01-01T00:01:03.000Z,utc为1970-01-01 00:01:03;输入65时,unix为65,milliseconds为65000,iso为1970-01-01T00:01:05.000Z,utc为1970-01-01 00:01:05。输入64正好位于63与65之间,对应00:01:04。再看724,unix为724,milliseconds为724000,iso为1970-01-01T00:12:04.000Z,utc为1970-01-01 00:12:04;3664则对应1970-01-01T01:01:04.000Z与1970-01-01 01:01:04。负数方向也有参照:输入-596时,unix为-596,milliseconds为-596000,iso为1969-12-31T23:50:04.000Z,utc为1969-12-31 23:50:04;输入-3536时,unix为-3536,milliseconds为-3536000,iso为1969-12-31T23:01:04.000Z,utc为1969-12-31 23:01:04。

常见应用场景

当接口或日志里出现一个较小的整数值,例如64,而字段语义标注为秒级时间戳时,就需要把它还原成可读时间。此时64位时间戳转换成秒的结果可以直接用于日志对齐、测试断言和接口联调。比如在验证时间格式时,把64作为输入,可以确认系统是否输出1970-01-01T00:01:04.000Z与1970-01-01 00:01:04。对于需要查看秒级与毫秒级差异的场景,64与64000这一对数值也能帮助区分字段单位。若还要把这种秒值放进Java等语言里处理,可以参考13位时间戳转换成时间java的实用教程来理解时间戳单位与时间对象之间的对应关系。

反向换算与注意事项

反向换算时,从1970-01-01 00:01:04或1970-01-01T00:01:04.000Z回到秒值,得到的是64;从64000毫秒回到秒值,则除以1000得到64。需要注意,64位时间戳转换成秒这个说法里的“64位”描述的是存储宽度,而参数64描述的是具体秒值,两者不是同一个概念。还要注意时区:证据中的iso与utc都基于UTC,若展示给本地用户,需要另行考虑时区偏移。对于负数时间戳,时间会落在1969-12-31,例如-596对应1969-12-31 23:50:04,-3536对应1969-12-31 23:01:04。若需要把结果继续做格式转换,可在需要时使用时间戳转换工具核对输出。

总结

64位时间戳转换成秒时,参数64的结果是unix为64、milliseconds为64000、iso为1970-01-01T00:01:04.000Z、utc为1970-01-01 00:01:04。也就是说,64秒对应Unix纪元开始后的第1分4秒。

相关文章

常见问题

Q1输入64时,64位时间戳转换成秒得到的unix是多少?

unix为64,也就是64秒。

Q2参数64对应的毫秒值是多少?

milliseconds为64000,即64000毫秒。

Q364对应的UTC时间是什么?

utc为1970-01-01 00:01:04,iso为1970-01-01T00:01:04.000Z。

Q464和相邻的63、65在结果上有什么区别?

63对应1970-01-01 00:01:03,64对应1970-01-01 00:01:04,65对应1970-01-01 00:01:05,秒值依次相差1。

Q5负数时间戳如-596会得到什么结果?

-596的unix为-596,milliseconds为-596000,iso为1969-12-31T23:50:04.000Z,utc为1969-12-31 23:50:04。