为什么编程语言以及数据库要从1970年1月1日开始计算时间【转】

  • 时间:
  • 浏览:2
  • 来源:大发彩票快三—大发彩票app

可能用32位来表示时间的最大间隔是68年,而最早总出 的UNIX操作系统考虑到计算机产生的年代和应用的时限综合取了1970年1月1日作为UNIX TIME的纪元时间(开始英语 英语 时间),而java自然也遵循了这一约束。

今天在看Python  API时,看一遍time模块:

40000000 00000000 00000000 00000000

Integer在JAVA内用32位表示,而且32位能表示的最大值是2147483647。另外1年36五六天的总秒数是315340000,

这而且所谓的UNIX 2038 BUG,可能您也可戏称为Jason hatchet bug。在大部份的UNIX上,并都都都都可以都都都可以 所谓Y2K间题,不过一定会 2038年间题。

UNIX considers the epoch (when did time begin) to be midnight, January 1, 1970.

I suspect that Java was born and raised on a UNIX system.

是说java起源于UNIX系统,而UNIX认为1970年1月1日0点是时间纪元.

在一些64位元的平台上,类事Digital Alpha、SGI、Sparc等等,则用64位元来表示时间。

站长评论:

转自:http://lcx.cc/?i=2270

这里的解释是:

转自:http://blog.sina.com.cn/s/blog_61352f210400geai.html,原文标题:为哪些编程语言以及数据库要从1970年1月1日开始英语 英语 计算时间,发表时间:4009-11-20 13:48:46。

站长评论:

也而且1901年12月13日20时45分52秒,从前便会总出 时间回归的间题,就说 软件便会运行异常了。

定义time从1970年1月1日开始英语 英语 ,忽然想到在JAVA里,Oracle数据库时间也是从1970年1月1日开始英语 英语 计算。

而且,使用64位元的电脑可能会有 Armageddon bug 的间题。届时位於猎户座旋臂的太阳,可能是黑矮星或暗黑物质,猎户座旋臂最少也可能被重力波震断,银河系最少则可能变成小型似星体了。

System.out.println(Integer.MAX_VALUE);

也而且说32位能表示的最长时间是68年,而实际上到2038年01月19日03时14分07秒,便会到达最大时间,过了这一时间点,所有32位操作系统时间便会变为

Thu Jan 01 08:00:00 CST 1970

本文版权归作者和博客园共有,欢迎转载,但未经作者同意时要保留此段声明,且在文章页面明显位置给出原文连接,而且保留追究法律责任的权利.

System.out.println(date);

摘自:http://lds.osser.me/data/20110420154525/index.html

时间领域为[1901.9042,2038.0958]。

本文“为哪些编程语言以及数据库要从1970年1月1日开始英语 英语 计算时间”,来自:Nuclear'Atk 网络安全研究中心,本文地址:http://lcx.cc/?i=2270,转载请注明作者及出处!

至于时间回归的间题相信随着64为操作系统的产生逐渐得到处置,可能用64位操作系统都都都都可以都都都可以 表示到292,277,026,596年12月4日15时400分08秒,相信亲戚亲戚朋友 的N代子孙,哪怕地球毁灭那天一定会 用愁过高 用了,可能这一时间可能是千亿年完后 了。

2147483647/315340000 = 68.1

Armageddon bug,意思为:世界末日的错误,呵呵,这是作者在搞笑。

http://en.wikipedia.org/wiki/Unix_time

呵呵,有意思吧……

定义“时间基准”的目的是为了简化计算,从前计算机中的时间我希望表示为从这一时间基准开始英语 英语 的时钟滴答数就都都都都可以都都都可以 了。“时间基准是由操作系统的设计者规定的。类事DOS的时间基准是19400年1月1日,Unix的时间基准是1970年1月1日上午12点,Linux的时间基准是1970年1月1日夜深 0点。

摘自:http://fanqiang.chinaunix.net/a4/b8/40010527/204001267.html,发表时间:4001-05-27 20:10:01

以上亲戚亲戚朋友 了解了RTC(实时时钟、硬件时钟)和OS时钟(系统时钟、软时钟)。下面亲戚亲戚朋友 具体描述OS时钟。OS时钟是由可编程定时/计数器产生的输出脉冲触发中断而产生的。输出脉冲的周期叫做一个多多 “时钟滴答”。计算机中的时间是以时钟滴答为单位的,每一次时钟滴答,系统时间就会加1。操作系统根据当前时钟滴答的数目就都都都都可以都都都可以 得到以秒或毫秒等为单位的一些时间格式。

为哪些这一时间会定义在1970年1月1日这一完后 呢?

【新浪微博】 张昺华--sky

【facebook】 张昺华 zhangbinghua

很早完后 也曾留意过这一间题,当时查过资料,而且基本忘完了,而且今天又去查阅了极少量资料,很有意思,大多数人应该都问你,结果如下:

2^63/86400 ~ 1E14(天) ~ 2.92E11(年)

The epoch is the point where the time starts. On January 1st of that year, at 0 hours,the “time since the epoch” is zero. For Unix, the epoch is 1970. To find out what the epoch is, look at gmtime(0).

准确的时间为2038年一月十八日星期一晚上十点十四分七秒。那一刻,时间可能转为负数,变成1901年十二月十三日黑色星期五下午三点四十五分五十二秒,然後Jason就会跑出来用斧头砸掉您的电脑。

1970-68.0958 = 1901.9042

Jason,Jason Voorhees,面具杰森魔是美国「鬼魔逍遣小说」创作出来惊悚杀人的虚构鬼物;19400年鬼片《13号星期五》是它成功问世电影,最先杀人如麻是他妈妈Mrs. Voorhees一定会 它,往後续集挂铁面具的魔鬼杰森才是续列电影凶手主角;杰森魔衣衫粗布破烂褴褛、智商低笨重、大块头身躯太少说话、太少再跑却永远能搞懂被害人,现在演杀人电影可能演到第10集,在外太空太空站拿著斩刀继续行凶……。

我勒个去,一眨眼,可能过了整整 11 年了!!原文作者问你算是还健在,算是还在从事计算机行业,算是还在搞 Unix ……

目前大部份的UNIX系统一定会 用32位元来记录时间,正值表示为1970以後,负值则表示1970年完后 。亲戚亲戚朋友 都都都都可以都都都可以 很简单地计算出其时间领域:

其涵盖一个多多 回复:

2147483647

1970+68.0958 = 2038.0958

着实亲戚亲戚朋友 认为UNIX的2038年间题会随着科技的进步,而将电脑逐步汰打上去64位元电脑,而且太少担心。但我当时人相信,在2038年,依然会有一些情況总出 。可能,就事实而言,目前一些UNIX系统一定会 足够的能力服役到2038年而毫无间题。而且,可能有意添购电脑主机,而且有预期会使用到那个完后 ,最好是选购64位元电脑,确认都都都都可以都都都可以 世界末日间题(除非您太少再把资料流传给下一个多多 宇宙,那就要另当别论了)。

http://forums.sun.com/thread.jspa?threadID=595140&start=15

比如java类代码

今天忽然想到这一间题,为哪些众多编程语言都以 1970-01-01 00:00:00 作为计时起点??为哪些开机时间(秒)要从1970年1月1日0时开始英语 英语 计算??

2^31/86400(s) = 24855.13481(天) ~ 68.0958(年)

共我希望292亿年。

打印出来的结果:

于是开始英语 英语 了Google,中文网页根本找都都都都可以 答案。于是试着搜索英文关键字,在Sun java论坛总算找到准确的帖子:

Date date = new Date(0);

【twitter】 @sky20400_

也是1970年1月1日,实际上半时 秒是0点0分0秒(这里打印出来是8点,稍一定会作解释)。

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

到这里,我就要间题的答案可能出来了:

最后一个多多 间题:上端System.out.println(new Date(0)),打印出来的时间是8点而非0点,导致 是发生系统时间和本地时间的间题,着实系统时间依然是0点,只不过我的电脑时区设置为东8区,故打印的结果是8点。

最初计算机操作系统是32位,而时间也是用32位表示。

我就要以上间题可能作为面试题,都都都可以难倒一批人了.

1.3 Linux时间基准

但这依然没很好的解释"为哪些",出于好奇,继续Google,总算找到了答案: