2020-06-24

Unix 时间戳;时间戳获取和生成

Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。

Unix时间戳不仅被使用在Unix 系统、类Unix系统中,也在许多其他操作系统中被广告采用。

当使用32位二进制数字表示时间时,系统的Unix时间戳最多可以使用到格林威治时间2038年01月19日03时14分07秒(二进制:01111111 11111111 11111111 11111111),其最后一秒,二进制数字会变为 10000000 00000000 00000000 00000000 发生溢出错误,这很可能造成软件故障和系统瘫痪;

使用64位二进制数字表示时间的系统(最多可以使用到格林威治时间292,277,026,596年12月04日15时30分08秒)则基本不会遇到这类溢出问题,即使出现溢出以前,到时也会出现新的机器替代现有的计算机;

如何在命令行中获取时间戳:

Unix / Linux date +%s

参考内容:

https://www.epochconvert.com/(较为详细的时间戳解释)Epoch Convert 

https://en.wikipedia.org/wiki/Unix_time 维基百科定义;

https://tool.chinaz.com/Tools/unixtime.aspx (时间戳在线服务)

时间换算对照:

SecondsMinutesHoursReadable time
6010.0166671 minute
36006011 hour
864001440241 day
604800100801681 week
262974443829.0667730.48441 month (30.44 days)
31556926525948.7678765.8131 year (365.24 days)

保持更新,更多内容请关注cnblogs.com/xuyaowen;

Unix 时间戳;时间戳获取和生成

No comments:

Post a Comment