1970-01-01是什么?为什么计算机起始时间是1970年1月1日

news2025/1/18 10:54:19

我们是不是也曾见到过或者听说过1970-01-01,而且它好像常常存在于计算机行业,非常常见,从事IT行业的兄弟应该都接触过,那么到底为什么是1970-01-01,而不是其他呢?

其实,1970-01-01对于开发者来说都是不陌生的,有些系统对于时间的处理如果不够好的话,就可能把时间显示成1970-01-01,所以经常有用户看到1970-01-01这个时间。
不信的话我们可以使用java代码验证:

Date date = new Date(0);
System.out.println(date);

结果如下:

Thu Jan 01 08:00:00 CST 1970

通过Date的构造函数的Java Doc说明:
在这里插入图片描述
该构造函数接收用户指定一个毫秒数,如new Date(1000),表示获得一个距离"epoch"有1000毫秒的时间。在Java中,这个时间是1970, 00:00:00 GMT。

起源
时间戳

一切要从Unix操作系统诞生开始说起。

1969年8月,贝尔实验室的程序员肯汤普逊利用妻儿离开一个月的机会,开始着手创造一个全新的革命性的操作系统,他使用B编译语言在老旧的PDP-7机器上开发出了Unix的一个版本。

随后,汤普逊和同事丹尼斯里奇改进了B语言,开发出了C语言,重写了Unix,新版于1971年发布。
在Unix被发明出来之后,需要在Unix上表示时间,就需要想办法定义一个能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据来表示时间。

于是,Unix时间戳被定义出来,即通过当前时间和一个"纪元时间"进行对比,其间相差的秒数作为时间戳。

为了让Unix时间戳表示时间这种方式用的尽可能久,最初就把Unix诞生的时间1971-1-1定义成"纪元时间"。

时间戳修改

除了开始时间是1971-1-1而不是1970-1-1外,最初的时间戳也不是每增加1秒时间戳就变动一次,而是每1/60秒都会改变一次时间戳。

另外,Unix是在1971年发明出来的,当时的计算机系统是32位,如果用32表示有整数,那么最大值是2147483647(2^31-1)。

那么,简单做一个数学计算,如果用当时的时间戳计算方式来表示时间的话,Unix时间戳最多可以使用4294967296/(606024)/60 = 828.5天(一天有606024秒,每1/60秒会占用一个时间戳)。

想象一下,设计出一个计算机系统,他的时间只能表示 828.5天,是不是很难让人接受,但是最初的Unix确实是这样的。

后来,Unix的开发者们也渐渐意识到这样不是长久之计,于是开始做出改变。

最开始,他们将每1/60秒改变一次时间戳修改成每1秒改变一次时间戳。这样时间戳可以表示的时间就又放大了60倍。这时候有828.5*60/365 = 136年。

这时候,一方面136年已经足够久了,纪元时间稍微向前调一下影响也不大。另外一方面为了方便记忆和使用。

于是就把纪元时间从1971-01-01调整到1970-01-01了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/470454.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

带你了解现在的LED显示屏技术

随着LED显示屏技术的空前繁荣,LED显示屏产品备受关注,广泛应用于商业广告、实况播映、交通诱导、舞台演绎等领域,发展至今。你了解十大中国LED显示屏制造商吗? LED显示屏技术已经得到了长足的发展,现在的LED显示屏技术…

智融合·共未来丨智合同携手百融云创打造合同智能化应用服务平台

人工智能技术是当今社会的热议话题之一。近年来,众多企业在人工智能领域持续布局,相关技术已在社会生产各环节极大地提高了生产效率。如果把过去信息技术产业的发展比喻为“手工时代”,那么人工智能技术的出现则将把信息技术产业推向“自动化…

数据库迁移 | DBMotion v23.04 支持异地多活

Squids DBMotion新版本支持异地多中心双活同步了。异地多活支持业务在多个数据中心同时操作数据库,能极大地提升高可用性、容错性和用户体验。其中最关键的技术,无疑是数据同步、同步防环和数据冲突解决。Squids DBMotion通过复制数据打标和预置冲突策略…

生产凭证补传操作步骤

凭证包文件包含:身份证正面、身份证背面、拍照图片、身份证头像图片、联网核查文件、签名文件、签名轨迹文本、凭证json文件。 一、证件信息重复或者模糊。 1.提供业务流水号、证件信息。 2.将证件信息通过安全U盘导入生产机。 3.根据业务流水号前8位设备号及业务流…

电信及互联网行业数据安全内控审计建设实践 | 盾见

文|龚磊 伴随数据安全“五法一典”出齐,2021年成为我国数据安全元年。各地、各行业不断加快数据安全政策体系的完善与落地执行。政企机构不断强化数据安全建设,共同助力网络安全行业高景气度维系。 2021年6月,网络安全等保测评报告模板新版发…

计算机网络学习02

1、TCP 与 UDP 的区别? 是否面向连接 : UDP 在传送数据之前不需要先建立连接。而 TCP 提供面向连接的服务,在传送数据之前必须先建立连接,数据传送结束后要释放连接。是否是可靠传输: 远地主机在收到 UDP 报文后&…

《2023中国企业数智化转型升级服务全景图/产业图谱1.0版》重磅发布

‍ 数据猿出品 本次“数据猿2023年度三大媒体策划活动——《2023企业数智化转型升级服务全景图/产业图谱1.0版》”的发布,是数据猿在2022年3.0版本的基础上,迭代升级的2023开年的第一个版本。本年度下一次版本迭代将于2023年8月底发布2023年2.0版&#x…

Java学习18(Java内存区域详解)

对于 Java 程序员来说,在虚拟机自动内存管理机制下,不再需要像 C/C程序开发程序员这样为每一个 new 操作去写对应的 delete/free 操作,不容易出现内存泄漏和内存溢出问题。正是因为 Java 程序员把内存控制权利交给 Java 虚拟机,一…

前端web3入门脚本二:初探dex,在dex完成一笔swap

前言 现在市面上大多数去中心化交易所(简称dex)都是fork的uniswap的代码,名气比较大的如eth上的sushi 以及 bsc上的pancake。博主这里说的都是V2,uniswapV3在这里不做讨论。那么知道了他们的代码都是来自同一父亲之后,…

Python每日一练(20230428)

目录 1. 最长有效括号 🌟🌟🌟 2. 矩阵中的最长递增路径 🌟🌟🌟 3. 回文链表 🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练…

考研操作系统2.3节 同步与互斥(这节有必要多复习)

2.2 实现缓冲区互斥的基本方法 软件实现方法 硬件实现方法 2.3.3 互斥锁 下面用互斥锁解决经典同步问题 2.3.4 信号量 经典同步问题(做大题再看) 2.3节选择题 皮特森算法:flag实现互斥,turn避免饥饿,选D x1 2 2 1 …

C/C++每日一练(20230428) 二叉树专场(6)

目录 1. 不同的二叉搜索树 🌟 2. 二叉树的锯齿形层序遍历 🌟🌟 3. 二叉树的右视图 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每…

如何做好采购计划和库存管理?

“销售计划不专业且不稳定”“准确性低” “目前只按照过往销量和采购周期做安全库存,但欠货和滞销依然严重” 题主的问题其实蛮有代表性的, 也是传统采购和库存管理常常面临的问题: ① 前后方协作困难 采购/销售/财务工作相互独立&#x…

【软件测试】测试分类

文章目录 🌷 1. 按测试对像划分⭐️ (1)界面测试⭐️ (2)可靠性测试⭐️ (3)容错性测试⭐️ (4)文档测试⭐️ (5)兼容性测试⭐️ (6&a…

Word论文自动化排版

论文的总体结构包含了标题、正文、子标题、图形、公式、算法、表格、参考文献等子结构。在利用Word进行论文排版时常常遇到这些困难:(1)论文的各子结构的格式非常难以做到统一,而且一旦某一子结构的格式需要修改,则需要…

量子计算的崛起:量子安全技术将成为下一代网络安全的基石?

第一章:引言 量子计算作为一种新型计算模式,与传统计算机相比具有许多优势。传统计算机使用的是二进制系统,即只有0和1两种状态,而量子计算机利用量子比特(qubit)的特殊性质进行计算。量子比特可以同时处于…

Mysql数据库的备份恢复

最近正在做一个异地数据的定期同步汇总工作,涉及到的数据库主要是Mysql数据库,用于存储现场的一些IOT采集的实时数据,所以做了以下备份恢复测试,现场和总部网络可定期联通,但速度有限,因此计划采用备份恢复…

11【Sass语法介绍-导入】

1.前言 在 CSS 中我们可以通过 import 来导入一个样式文件,Sass 扩展了 CSS 的 import 规则,使得可以导入 CSS 后缀的样式文件和 Scss 后缀的样式文件,并且提供了对 mixin 、函数和变量的访问。 与 CSS 的 import 不同的是, CSS…

aac音频怎么转mp3,这几个方法很简便

对于aac来说,其是一种高级音频编码,也是专门为声音数据设计的文件压缩格式。通常来说,aac与mp3有一些不同。aac使用了全新的算法进行编码的,其整体的效率较mp3更高一些。同时,aac格式的音质较好一些。但是,…

调戏chatGPT(二)下围棋

这次我准备和chatGPT下盘围棋,我先得确认它知道围棋是啥,如果会的话我就不用介绍规则了 t 你会下围棋嘛 作为一名AI助手,我可以模拟下围棋的过程,但是我没有实际的感官,无法看到棋盘和棋子,也无法进行实…