热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

为什么计算机很多语言里的时间都是从1970年1月1日午夜开始计算?

程序语言受电脑系统影响,而现代电脑系统都受到Unix系统的广泛影响,而1970年1月1日这个时间正是Unix系统的起始时间(epoch·time)。所以每个时间戳都以自从1970年1月1日午夜

    程序语言受电脑系统影响,而现代电脑系统都受到Unix系统的广泛影响,而1970年1月1日这个时间正是Unix系统的起始时间(epoch·time)。所以每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示

 

    当年的电脑需要一个可靠的外部时钟同步源,因此早期的Unix系统用一个32位字长表示时间,以1/60秒,即1Hz为时间间隔和外部时间源同步(这道不完全是由于老美的电网频率是60Hz的缘故,当时的系统主板的晶振就是1Hz)。 结果这个时间所表示的跨度只有大约829天(约2.5年),显然不够用,因此需要一个原始的起始(〔纪〕··〔元〕)时间,由于Unix系统源自上时间69年代,第一个正式版本于1970年首次运行在PDP-11上,1971年11月UNIX Programmer's Manual(Unix程序员手册)首次公布,这个手册里面提及了起始时间,将它定义为【1971】年1月1日。-- 手册也承认,该起始时间大约每2.5年就要重新修正一次。

 

    之后系统时间同步间隔被修订为1秒,这样32位就可表述约136年的跨度,也正是这个期间(具体年份不祥),起始时间被修订为1970.1.1 (Unix开发者认为把之前的1971.1.1取整进位到最临近的年代起始(以每10年一个断代算),要比1971这个有点不伦不类的时间好),因此从这以后,Unix一直沿用了1970.1.1这个起始时间,而相关的程序也相应的沿用了这个时间,而深受Unix影响的后续操作系统们,如:OS/2, Windows, Mactonish, Linux。。。。都沿用了这个{事实标准}。


推荐阅读
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • 2012年7月30日,语言岛团队宣布其智能记单词软件V0.3.4.554版本正式开源。该版本不仅支持跨平台使用,还引入了多项创新功能,旨在帮助用户更高效地记忆单词。 ... [详细]
  • Linux环境下进程间通信:深入解析信号机制
    本文详细探讨了Linux系统中信号的生命周期,从信号生成到处理函数执行完毕的全过程,并介绍了信号编程中的注意事项和常见应用实例。通过分析信号在进程中的注册、注销及处理过程,帮助读者理解如何高效利用信号进行进程间通信。 ... [详细]
  • 本文介绍如何配置SecureCRT以正确显示Linux终端的颜色,并解决中文显示问题。通过简单的步骤设置,可以显著提升使用体验。 ... [详细]
  • 本文详细探讨了Java命令行参数的概念、使用方法及在实际编程中的应用,包括如何通过命令行传递参数给Java程序,以及如何在Java程序中解析这些参数。 ... [详细]
  • 俗话说得好,“工欲善其事,必先利其器”。这句话不仅强调了工具的重要性,也提醒我们在任何项目开始前,准备合适的工具至关重要。本文将介绍几款C语言编程中常用的工具,帮助初学者更好地选择适合自己学习和工作的编程环境。 ... [详细]
  • 深入理解动态链接库及其应用
    本文将探讨动态链接库的基本概念,包括Windows下的动态链接库(DLL)和Linux下的共享库(Shared Library),并详细介绍如何在Linux环境中创建和使用这些库。 ... [详细]
  • GIMP 2.99.2 发布:UI 采用 GTK3 实现、原生支持高分屏和 Wayland
    开源项目评选最后一周,手里的5票再不用就没用了https:www.oschina.netprojecttop_cn_2020GIMP2.99.2已发布,同时这也标志着GIMP3.0的到来,其中最显著的变化是从GTK2过渡到GTK3工具包。基于 ... [详细]
  • 前端开发:从底层到顶端的行业现象解析
    在编程领域,鄙视链现象屡见不鲜,从C语言到Java、.NET等,每个技术栈都有其独特地位。然而,前端开发者尽管常处于鄙视链底端,却在市场需求中备受青睐。本文深入探讨这一现象,并分析前端工程师如何在竞争激烈的市场中脱颖而出。 ... [详细]
  • PHP插件机制的实现方案解析
    本文深入探讨了PHP中插件机制的设计与实现,旨在分享一种可行的实现方式,并邀请读者共同讨论和优化。该方案不仅涵盖了插件机制的基本概念,还详细描述了如何在实际项目中应用。 ... [详细]
  • FinOps 与 Serverless 的结合:破解云成本难题
    本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ... [详细]
  • 本文详细介绍了C语言的起源、发展及其标准化过程,涵盖了从早期的BCPL和B语言到现代C语言的演变,并探讨了其在操作系统和跨平台编程中的重要地位。 ... [详细]
  • 鼠标悬停出现提示信息怎么做
    概述–提示:指启示,提起注意或给予提醒和解释。在excel中会经常用到给某个格子增加提醒信息,比如金额提示输入数值或最大长度值等等。设置方式也有多种,简单的,仅为单元格插入批注就可 ... [详细]
  • Vue 开发与调试工具指南
    本文介绍了如何使用 Vue 调试工具,包括克隆仓库、安装依赖包、构建项目以及在 Chrome 浏览器中加载扩展的详细步骤。 ... [详细]
  • Java多重继承的替代方案及设计考量
    本文探讨了Java为何不支持多重继承,并深入分析了其背后的原理和替代方案。通过理解Java的设计哲学,开发者可以更好地利用接口和其他特性来实现复杂的类结构。 ... [详细]
author-avatar
kafka
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有