什么是时代时间?Unix时期时间,优势,问题(2038年)

对于人类以及计算机的实际时间(我们的房屋中的壁钟或计算机时钟中的壁钟)和数学计算(例如速度,距离,随着时间的距离),时间是一个重要的概念。计算机处理1和0,必须正确表示时间至关重要。由于我们需要在计算机中的时间开始指向参考时间,即自此参考点以来已经过去的时间量,因此Epoch是UNIX系统的起点。但是什么是时代?不同操作系统的时代是什么?我们将在本指南中探索有关时代的更多信息。

什么是时代时间?

让我们从一个重要的问题开始启动:什么是时代时间?在计算机世界中,时代是它们测量系统时间的起点(日期和时间)。

时期是计算机时间的零点,即代表00小时,00分钟和00秒。不同的操作系统具有不同的时期时间。

例如,在基于UNIX和POSIX的操作系统中,时期时间为00:00:00 UTC,星期四1英石1970年1月。基于UNIX测量时间的计算机通过计算从这一点开始通过的秒数(减去LEAP秒)。因此,这个时期时间也称为Unix时期时间(或简单的时期时间,Unix时间,POSIX时间)。

Unix Ken Thompson和Dennis Ritchie的开发人员还负责将日期和时间定为1英石1970年1月和00:00:00。

需要时期

如果您观察到时期的时间表示,则只是从Unix Epoch时间开始的秒数的数量。我们本质上使用数字来表示日期和时间。

这种表示的主要好处是,您可以轻松地执行数学操作,例如数字上的加法和减法,并毫不费力地计算日期和时间。

例如,每60个时期秒等于1个实际分钟,而3,600个时代秒仅在现实生活中一个小时。

您可以从下一个时代的计数及其现实生活中的等效时间段中获得一个清晰的想法。

时期秒数 现实生活时间过去了
1 1秒
60 1分钟
3,600 1小时
86,400 1天(24小时)
604,800 1周
1,209,600 2周
1,814,400 3周
2,419,200 1个月(28天)
2,592,000 30天
14,515,200 6个月(168天)
29,030,400 1年(336天)
290,304,000 1个十年(3360天)

因此,如果两个时期计数之间的差异为10,800,那么我们可以说这两个事件之间已经过去了3个小时。

其他操作系统中的时代时间是什么?

世界上所有计算机的时期日期和时间是否相同?答案是不。时期时间是操作系统依赖性,不同的操作系统具有不同的时期时间。我们在介绍部分中看到的只是UNIX和POSIX系统的时代。

其他操作系统(例如Windows,MacOS等)都有各自的时期时间。您可以查看下表,以了解每个主要操作系统的时期时间。

操作系统 时期日期(开始) 时期日期(结束)
Unix 1英石1970年1月 19Th2038年1月
posix 1英石1970年1月 19Th2038年1月
DOS,Microsoft DOS,IBM OS/2 1英石1980年1月 1英石1月,2108年
Microsoft Windows(Windows NT) 1英石1601年1月 30828年
Linux 1英石1970年1月 19Th2038年1月
Apple Macos(经典) 1英石1904年1月 6Th2040年2月
苹果系统 1英石1970年1月 19Th2038年1月
amigaos 1英石1978年1月 -
S/390 1英石1970年1月 19Th2038年1月

除了操作系统外,某些应用程序还具有自己的时期日期。您可以查看一些主要的应用程序和软件及其时期日期。

应用程序软件 时期日期
MATLAB 1月0日,公元前1月1日
Microsoft Excel 1900年1月0日
Microsoft .NET 1英石1月1日公元
GPS(全球定位系统) 6Th1980年1月
libreoffice 30Th1899年12月
LabView 1英石1904年1月
苹果可可框架 1英石2001年1月
编程语言(C,C ++,Python,Ruby,Java,JavaScript,TCL等) 1英石1970年1月

重要的一点是,当我们说系统计算时期时间的秒数时,它是特定于操作系统的。通常,它实际上是系统计数的“滴答”数量,并且在不同的操作系统中每个刻度都不同。

操作系统 时代tick
Unix 1秒
posix 1秒
DOS,Microsoft DOS,IBM OS/2 1秒
Microsoft Windows(Windows NT) 100 ns
Linux 1s
Apple Macos(经典) 1秒
苹果系统 1秒
S/390 244.14 ps

Unix时期的效果如何?UNIX时期时间的问题

在将日期和时间表示为数字有益的同时,它也存在问题。在大多数操作系统中,我们将时期计数存储为32位签名的整数。因此,它可以代表的最大值是231- 1。

来到Unix时期,它开始于1英石1970年1月的00:00:00,我们可以存储的最大日期和时间是03:14:07 UTC,19Th2038年1月。下一个计数将导致整数溢出,并将日期和时间倒回20:45:52 UTC,13Th1901年12月。

这个问题被称为2038年的问题(因为它与2000年的问题相似)。

许多UNIX和其他主要操作系统从签名的32位整数转移到签名的64位整数,以代表时期计数。但是,如果您有一个不支持64位计算或无法更新的嵌入式系统的旧系统,那么2038年的问题在其中持续存在。

结论

代表计算机中的日期和时间是其操作的重要组成部分。系统时间充当所有计算系统中许多任务和应用程序的参考。时期是计算机系统计算系统时间的起点。在Unix中,时代为00:00:00 UTC,1英石1970年1月。其他操作系统有自己的时代。本指南回答了什么是时代时间以及我们为什么需要它的重要问题。我们还看到了一些流行的操作系统和应用的时期时间。

发表评论

您的电子邮件地址不会被公开。

电子豪华粉丝
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu
map