![]() |
1
395
早期版本的Unix以1/60 s的间隔测量系统时间。这意味着32位无符号整数只能表示小于829天的时间跨度。因此,用数字表示的时间
后来,系统时间被更改为每秒钟递增,这将32位无符号整数表示的时间跨度增加到大约136年。由于挤出每秒钟的时间不再那么重要,这个时代被四舍五入到最近的十年,因此变成了1970-1-1。我们必须假设这被认为比1971-1-1更整洁。 注意32位 签署 整数,使用1970-1-1作为其纪元,可以表示到 2038-1-19 在哪一天,它将在1901年12月13日结束。 |
![]() |
2
47
History .
|
![]() |
3
8
http://en.wikipedia.org/wiki/Unix_time#History 稍微解释一下Unix时间和所选时代的起源。Unix时间和纪元日期的定义在稳定其现状之前经历了一些变化。 但这并不能说明为什么最终选择了1/1/1970。 维基百科页面的重要摘录:
|
![]() |
4
0
纪元参考日期安 epoch reference date 是时间线上我们计算时间的点。在此点之前的时刻用负数计数,之后的时刻用正数计数。 使用中的许多时代
不,不是 这个 时代, 安 时代。有 使用中的许多时代 . 这个时代的选择是 任意的 . 主要计算机系统和库至少使用 couple dozen various epochs . 最流行的时代之一就是 Unix Time ,使用您提到的1970年UTC时刻。 虽然很流行,但Unix Time_s 1970可能不是 最 共同点。同样,最常见的情况是1900年1月0日,无数的Microsoft Excel&Lotus 1-2-3电子表格,或者2001年1月1日,苹果公司的Cocoa框架在全球超过10亿台iOS/MacOS机器上的无数应用程序中使用。或者可能是1980年1月6日 GPS 设备? 许多颗粒不同的系统在计数时间上使用不同的粒度。 甚至所谓的Unix时间也不尽相同,有些系统会计算整个系统的时间。 seconds 还有一些计数 milliseconds . 许多数据库,如Postgres使用 microseconds . 一些,如现代 Java.时间 Java 8和以后的框架,使用 nanoseconds . 有些还使用其他粒度。 国际标准化组织8601由于在使用一个时间段参考和粒度方面存在很大的差异,一般最好避免将时间作为一个时间段的计数进行通信。在不明确的时代和粒度之间,加上人类无法感知有意义的值(因此错过了错误的值),使用纯文本而不是数字。 这个 ISO 8601 标准提供了一套广泛的实用、设计良好的格式,用于将日期时间值表示为文本。这些格式很容易被机器解析,也容易被跨文化的人阅读。 这些包括:
|
![]() |
5
-10
简短回答:为什么不呢? 更长的答案:时间本身并不重要,只要使用它的每个人都同意它的价值。由于1/1/70已经使用了很长时间,使用它将使尽可能多的人都能理解您的代码。 选择一个任意的时代只是为了与众不同没有什么大的价值。 |
![]() |
Sandeep · 从根目录开始打印完整的符号链接信息 2 年前 |
![]() |
jojo · 用正则表达式搜索,但仅用sed替换字符串的一部分 2 年前 |
![]() |
David Gall · 查找在特定日期从特定计算机登录的所有用户 2 年前 |
![]() |
JLLMNCHR · 如何在Oracle中将大型表导出/假脱机到文件 6 年前 |