自从找到工作之后好久没有更博客了。。。今天写php的时候遇到了个神奇的问题,现在来说一说~

在php的时间方法里,mktime用的是unix时间戳,返回一个日期的 UNIX 时间戳。然后使用它来查找该日期的天。
语法:

mktime(hour,minute,second,month,day,year,is_dst);

如图,当我将year设为2038时

效果如下,可正常显示为2038年1月1日

but~当我将year改为2050年时————

什么鬼?!我明明写的2050年好吗?!为毛给我显示成1970年1月1日??
于是不信邪的我又尝试了其他的时间,发现只要year大于2038就显示成1970!!what?这么神奇?!难道2038年是世界末日嘛!!

在一番脑洞大开之后,我仔细观察了一下,1970-1-1 08:00:00 咦?怎么这个时间这么熟悉呢??这不是UNIX时间戳为0的时间嘛。。。

于是我去网上查了一下关于unix时间戳相关的知识,发现:

所有使用UNIX时间表示时间的程序都将受其影响,因为它们以自1970年1月1日经过的秒数(忽略闰秒)来表示时间。

依照此“time_t”标准,在此格式能被表示的最后时间是2038年1月19日 03:14:07,星期二(UTC)。超过此一瞬间,时间将会被掩盖(wrap around)且在内部被表示为一个负数,并造成程序无法工作,因为它们无法将此时间识别为2038年,而可能会依个别实作而跳回1970年或1901 年。错误的计算及动作可能因此产生。

其实就是在32位系统上,长度溢出导致的异常。

嗷嗷原来是这样啊。。那2038年之后咋办呢?这不马上就要到了么?毕竟我还年轻⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄

于是,找到了这个 ↓

开源自由软件社区开始对2038年问题展开努力

好吧好吧(∩_∩),这我就放心啦~

所以叻~遇到2038这个问题的同学们就不用担心啦,安心用吧,会有替代方案的,我们就坐等问题解决吧O(∩_∩)O~~

unix时间2038问题相关推荐

  1. Go 学习笔记(48)— Go 标准库之 time (获取时/分/秒的单位值、标准时间和Unix时间转换、字符串时间和Time类型转换、时区转换、时间的加减/休眠)

    1. 概要说明 import "time" time 包提供了时间的显示和测量用的函数.日历的计算采用的是公历. Go 提供以下几种时间类型: 时间点 Time 时间段 Durat ...

  2. Unix 时间表示方式与windows时间表示方式相互转换的解决办法

    Unix时间时间表示方式与windows时间表示方式相互转换的解决办法. 简单描述问题:(以上问题仅限在VC++6.0或更低的开发环境下实现.当然VS2005,VS2008中可能有更好的解决办法,但是 ...

  3. Unix时间戳 POSIX时间 Unix时间

    时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)以来的秒数,也被称为 Unix 时间戳(Unix Timestamp). Unix时间戳(Unix timestamp),或称Uni ...

  4. vb.net 同时给多个属性赋值_Python尚学堂高淇|1721时间表示unix时间点毫秒微秒time模块浮点数自动转换强制转换增强赋值运算符...

    017浮点数-自动转换-强制转换-增强赋值运算符浮点数称为float用a*b^10形式表示的科学计数法,比如:3.14,314E-2或者314e-2这些数字在内存当中也是按照科学计数法存储. > ...

  5. linux 时间戳 微妙,unix时间点_毫秒和微妙_time模块

    时间的表示 计算机中时间的表示是从"1970 年 1 月 1 日 00:00:00"开始,以毫秒(1/1000 秒) 进行计算.我们也把 1970 年这个时刻成为"uni ...

  6. C#之Unix时间和北京时间互转

    Unix时间起始时间为1970年1月1日0时0分0秒 北京时间起始时间为1970年1月1日8时0分0秒 北京时间转Unix时间如下: DateTime dtUnix = new DateTime(19 ...

  7. python时间函数纳秒_在Python中以秒和纳秒获取POSIX / Unix时间?

    我一直在努力找到一种方法来获取自1970-01-01 00:00:00 UTC以来的时间,以秒为单位,在python中以纳秒为单位,我找不到能给我正确精度的任何东西. 我尝试过使用时间模块,但是精度只 ...

  8. UNIX时间与GPS时间

    Unix时间起始于:1970年1月01日 GPS时间起始于:1980年1月06日 如果不考虑GPS跳秒的影响,两个时间系统的差值为315964800.目前GPS多次跳秒,计算时务必考虑此影响. UNI ...

  9. php gmt文本转时间,PHP 使用gmdate将一个UNIX 时间格式化成 GMT 文本的简单示例

    对PHP gmdate –将一个UNIX 时间格式化成 GMT 文本感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 语法如下: /** * PHP gmdate –将一个UNIX 时间格 ...

最新文章

  1. 负载均衡算法-权重轮询均衡
  2. android viewpager 复杂指示器_View Pager 性能优化之 无限循环
  3. Access 数据库连接字符串 (有密码)
  4. 【Linux入门到精通系列讲解】内存管理malloc和free函数
  5. 随手小记 才知道系列
  6. C#7.0之ref locals and returns (局部变量和引用返回,之前欠大家的,现在补上)
  7. 创业公司其实根本不需要管理
  8. JS的document.all函数使用 示例
  9. oracle中存在函数吗,Oracle中的函数
  10. 修正memcache.php中的错误示例
  11. Linux下装完mysql后默认密码是多少
  12. bzoj 1492: [NOI2007]货币兑换Cash
  13. 解压tar.xz文件和tar.gz文件
  14. 亲密关系-【有效表达】-如何完善自己的表达思路?
  15. Tcl/tk glob nocomplain source
  16. iOS之StatusBar详解
  17. VISIO画图软件安装
  18. STM32 CubeMX 串口通信
  19. catia设计树_在CATIA目录树上**零件号原来这么简单!
  20. ACM新手入门之杭电150题使用指南及C语言学习推荐

热门文章

  1. 硬核拆解Sea:新生代“阿里+腾讯+美团“的估值逻辑
  2. 图数据库超级节点建模优化实战
  3. Spring的@RequestBody非常牛x,可以将提交的json直接转换成POJO对象。
  4. css下设置字体的em、rem、vw、vh字体单位详解
  5. houdini特效学习总结
  6. moviepy中3种不同的视频拼接方法
  7. 串级 PID 为什么外环输出是内环的期望?(和我之前对串级PID的总结一样)
  8. 别破解了!百度网盘文件要这样下
  9. 数字孪生,开启三维智慧园区管理新篇章
  10. LINX命令压缩和归档