Linux中的时间从1970年01月01日开始

Linux中的时间
UNIX及Linux的时间系统是由「新纪元时间」Epoch开始计算起,单位为秒,Epoch则是指定为1970年一月一日凌晨零点零分零秒,格林威治时间。

目前大部份的UNIX系统都是用32位元来记录时间,正值表示为1970以後,负值则表示1970年以前。我们可以很简单地计算出其时间领域:
2^31/86400(s) = 24855.13481(天) ~ 68.0958(年)
1970+68.0958 = 2038.0958
1970-68.0958 = 1901.9042
时间领域为[1901.9042,2038.0958]
准确的时间为2038年一月十八日星期一晚上十点十四分七秒。那一刻,时间将会转为负数,变成1901年十二月十三日黑色星期五下午三点四十五分五十二秒,然後Jason就会跑出来用斧头砸掉您的电脑。
这就是所谓的UNIX 2038 BUG,或者您也可戏称为Jason hatchet bug。在大部份的UNIX上,并没有所谓Y2K问题,不过都有2038年问题。

在一些64位元的平台上,例如Digital Alpha、SGI、Sparc等等,则用64位元来表示时间。
2^63/86400 ~ 1E14(天) ~ 2.92E11(年) 。大约是2920亿年。
因此,使用64位元的电脑可能会有 Armageddon bug 的问题。届时位於猎户座旋臂的太阳,已经是黑矮星或暗黑物质,猎户座旋臂大概也已经被重力波震断,银河系大概则已经变成小型似星体了。

虽然许多人认为UNIX的2038年问题会随着科技的进步,而将电脑逐步汰换成64位元电脑,因此无须担心。但我个人相信,在2038年,依然会有许多状况出现。因为,就事实而言,目前许多UNIX系统都有足够的能力服役到2038年而毫无问题。因此,如果有意添购电脑主机,而且有预期会使用到那个时候,最好是选购64位元电脑,确认只有世界末日问题(除非您想要把资料流传给下一个宇宙,那就要另当别论了)。

### 回答1: 在Linux,15908通常指的是文件或目录的时间戳,表示上次修改时间是什么时候。具体来说,它指的是距离1970110点0分0秒的秒数。这个时间戳是Linux系统的一个重要概念,可以用来确定文件或目录的创建时间、最后修改时间、最后访问时间等信息。你可以使用命令"ls -l"来查看文件或目录的时间戳信息。 ### 回答2: 在Linux,文件或目录的上次修改时间(Last Modified Time)可以通过命令`ls -l`或`ls -la`来查看。其,15908是一个时间戳,表示文件或目录的上次修改时间Linux系统时间戳是以计算机的起始时间19701100:00:00(即UNIX纪元时间)起的秒数来表示的。具体来说,15908表示从起始时间到文件或目录的上次修改时间之间的秒数。 为了将这个时间戳转换为实际的期和时间,可以使用`date`命令,并以时间戳作为参数,如`date -d @15908`。这样就可以得到具体的期和时间。 需要注意的是,Linux系统时间戳是一个整数值,如果给出的时间戳很大,那么很可能涉及的是1970之后的时间。因此,如果看到一个较大的时间戳,可能需要考虑是否需要进行转换为实际期和时间。 ### 回答3: 在Linux,15908是一个时间戳,表示距离197011格林威治标准时间(也称为UNIX纪元)的秒数。这个时间戳可以被解释为一个期和时间来表示上次文件或目录的修改时间。 具体到15908这个时间戳,我们可以使用date命令将其转化为易读的期和时间格式。在终端执行以下命令: ```shell date -d @15908 ``` 执行后,会显示15908所代表的具体时间。例如,返回的结果可能是: ``` Thu Jan 01 01:25:08 GMT 1970 ``` 这表示文件或目录的上次修改时间197011凌晨1点25分08秒。 需要注意的是,Linux时间戳是以格林威治标准时间为基准的,因此需要根据时区的不同进行相应的调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值