⏱️时间戳(Unix timestamp)转换-精确高效的时间戳解析转换工具
时间戳转换 #
时间戳转时间
时间转时间戳
💡本时间戳转换工具,不同地区时间利用UTC偏移实现,没有DST夏令时变更💡
💡时间戳转时间中,时间是指的选中的地区的时间,包含了UTC偏移💡
Unix时间戳 #
UNIX时间戳:Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp) 是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。 UNIX时间戳的0按照ISO 8601规范为 :1970-01-01T00:00:00Z. 一个小时表示为UNIX时间戳格式为:3600秒;一天表示为UNIX时间戳为86400秒,闰秒不计算。 在大多数的UNIX系统中UNIX时间戳存储为32位,这样会引发2038年问题或Y2038。
时间戳的小故事 #
1969年8月,贝尔实验室的程序员肯汤普逊利用妻儿离开一个月的机会,开始着手创造一个全新的革命性的操作系统,他使用B编译语言在老旧的PDP-7机器上开发出了Unix的一个版本。随后,汤普逊和同事丹尼斯里奇改进了B语言,开发出了C语言,重写了UNIX,新版于1971年发布。
那时的计算机操作系统是32位,时间用32位有符号数表示,则可表示 68 年, 用32位无符号数表示,可表示136年。 他们认为 以 1970年 为时间 原点 足够可以了。 因此,C 的 time 函数 就这么 定了,后来的 java 等也用它,微机也用它,工作站本来就是unix系统当然也用它。(今后若用64位机年限更没问题。)
32位能表示的最大值是2147483647,另外1年365天的总秒数是31536000, 2147483647/31536000 68.1
也就是说32位能表示的最长时间是68年,而实际上到2038年01月19日03时14分07 秒,便会到达最大时间,过了这个时间点,所有32位操作系统时间便会变为 10000000000000000000000000000000 也就是1901年12月13日20时45分52秒,这样便会出现时间回归的现象,很多软件便会运行异常了。
到这里,我想问题的答案己经出来了:
因为用32位来表示时间的最大间隔是68年,而最早出现的UN以操作系统考虑到计算 机产生的年代和应用的时限综合取了1970年1月1日作为UNTIME的纪元时间(开始时间) 至于时间回归的现象相信随着64为操作系统的产生逐渐得到解决,因为用64位操作系统可以表示到292,277,026,596年12月4日15时30分08秒,相信我们的N代子孙,哪怕地球毁灭那天都不用愁不够用了,因为这个时间己经是千亿年以后了。
如果您觉得工具对您有帮助的话,有能力的可以请我喝杯汽水或咖啡。
链接到这个页面:"时间戳(Unix timestamp)转换"
您可以使用此 HTML 代码链接到此工具。只需将其复制并粘贴到您的页面中:
<a href="https://yestool.org/timestamp/">时间戳(Unix timestamp)转换-精确高效的时间戳解析转换工具</a>