前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Date 对象(上)

Date 对象(上)

作者头像
RiemannHypothesis
发布2022-10-28 10:29:21
5570
发布2022-10-28 10:29:21
举报
文章被收录于专栏:Elixir

Date 对象

Date对象是 JavaScript 原生的时间库。它以1970年1月1日00:00:00作为时间的零点,可以表示的时间范围是前后各1亿天(单位为毫秒)。

时间戳

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。

格林威治和北京时间就是时区的不同

Unix是20世纪70年代初出现的一个操作系统,Unix认为1970年1月1日0点是时间纪元。JavaScript也就遵循了这一约束

最初计算机操作系统是32位,而时间也是用32位表示,数字类型的最大值是:2147483647

另外1年365天的总秒数是31536000,2147483647/31536000 = 68.1,也就是说32位能表示的最长时间是68年,而实际上到2038年01月19日03时14分07秒,便会到达最大时间,过了这个时间点,所有32位操作系统时间便会变为10000000 00000000 00000000 00000000,也就是1901年12月13日20时45分52秒,这样便会出现时间回归的现象,很多软件便会运行异常了。

至于时间回归的现象相信随着64为操作系统的产生逐渐得到解决,因为用64位操作,系统可以表示到292,277,026,596年12月4日15时30分08秒,相信我们的N代子孙,哪怕地球毁灭那天都不用愁不够用了,因为这个时间已经是千亿年以后了。

这里有个关于苹果手机的事情:据外媒报道称,iPhone又出现了一个导致变成“砖头”的操作。只要把日期设定成1970年1月1日,关机后重启手机,你的手机很可能会变成“砖头”,即便是进入DFU模式都无法刷机,只能到售后解决问题。

而后苹果的处理更是简单粗暴,不允许设置1970年1月1

普通函数的用法

Date对象可以作为普通函数直接调用,返回一个代表当前时间的字符串。

代码语言:javascript
复制
Date()
// "Tue Dec 01 2015 09:34:43 GMT+0800 (CST)"

注意,即使带有参数,Date作为普通函数使用时,返回的还是当前时间。

代码语言:javascript
复制
Date(2000, 1, 1)
// "Tue Dec 01 2015 09:34:43 GMT+0800 (CST)"

上面代码说明,无论有没有参数,直接调用Date总是返回当前时间。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Date 对象
    • 时间戳
      • 普通函数的用法
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档