php strtotime 2038 时间戳,PHP的strtotime计算2038年以上日期的时间戳错误
今天同事遇到一个bug,获取有效期值错误,同样的代码,其他开发人员操作都没有问题。在定位跟踪后发现有效期有值,如下:
$expireDate = 2133999048; 但是在该时间戳的基础上加上1 year后, $expireDate的值为false,而不是正确的时间戳。
$expireDate = strtotime("+1 year", $expireDate); 于是将时间戳改为天数并不断寻找最终的边界在+156 days可以正常返回,超过后就无法正常返回。于是将时间戳转换成正常格式的时间
echo date("Y-m-d", $expireDate); 显示日期为2038-01-19。网上搜索一下,说是32位的unix时间戳漏洞,称为Y2K38 漏洞。64位的系统不受此影响。
Y2K38 漏洞
Y2K38,又称 Unix Millennium Bug,此漏洞将会影响到所有 32 位系统下用 UNIX 时间戳整数来记录时间的 PHP,及其它编程语言。 一个整型的变量所能保存的最大时间为 2038 年01月19 日 03:14:07。超过这个时间后,整型数值将会溢出。 从 1970 年 01 月 01 日开始,到世界标准时 2038 年 01 月 19 日星期二凌晨 03:14:07 超过 2^31 – 1。2^31 – 1 就是0x7FFFFFFF,相信很多编程员都看过,在 32 位系统里,这表示最大的有符号整数。如果用它来表示秒数,大概相当于 68.1 年,从 1970 年到 2038 年刚好是这个数。
php strtotime 2038 时间戳,PHP的strtotime计算2038年以上日期的时间戳错误相关推荐
- PHP的strtotime计算2038年以上日期的时间戳错误
今天同事遇到一个bug,获取有效期值错误,同样的代码,其他开发人员操作都没有问题.在定位跟踪后发现有效期有值,如下: $expireDate = 2133999048; 但是在该时间戳的基础上加上1 ...
- java strtotime_PHP strtotime()与mktime():日期转时间戳
前面我们介绍了<time() 函数>可以获取当前的时间戳,那么如果想要将一个具体的时间转换成时间戳的话该怎么办呢? PHP 中提供了两个函数可以实现将具体的日期转换为时间戳,分别是 str ...
- PHP 日期转换为时间戳 strtotime 与 mktime 函数
strtotime() 函数用于将英文文本字符串表示的日期转换为时间戳,为 date() 的反函数,成功返回时间戳,否则返回 FALSE . 语法: int strtotime ( string ti ...
- php strtotime mktime,php mktime和strtotime
本文章来给各位同学介绍一下利用php用strtotime或mktime指定日期数据(本周,上周,本月,上月,本季度)实例,希望对各位同学会有所帮助呀. strtotime定义和用法 strtotime ...
- php中strtotime的意思,php中strtotime函数用法详解
本文实例讲述了php中strtotime函数用法.分享给大家供大家参考.具体如下: strtotime(字符串$时间[,诠释$现在])int strtotime(string $time [,int ...
- php中strtotime的意思,PHP中strtotime
关于 PHP中strtotime的搜索结果 问题 对1970年之前的日期使用strtotime?mysql 我在mysql中有一个文本列,它以yyyy-mm-dd格式存储日期值.现在,在我的php页面 ...
- PHP 解决时间戳冲突,php 时间超出2038年 转化时间戳失败的解决方案
PHP有效的时间戳典型范围是格林威治时间 1901 年 12 月 13 日 20:45:54 到 2038 年 1 月 19 日 03:14:07. 在32位操作系统环境下,超出2038年之后, ...
- php strtotime 3天后,php strtotime 问题
$beginMon=strtotime("-1 week Monday"); $endMon=strtotime("-1 week Tuesday")-1; e ...
- [JavaScript] 日期时间戳的使用与计算
日期时间戳的使用与计算 new Date()的使用 const date = new Date() console.log(date) // 2021-09-10T07:12:11.948Z cons ...
最新文章
- php防止网站被镜像,网站被等恶意镜像的解决、反制措施详细教程
- 数据解读“特殊”春运:“返乡过年”人数同比降五成,这些人成今年春运主力...
- linux7怎么安装yum,centos7下怎么安装yum
- 实用分享-免费录屏工具(无水印)
- 常用python内置函数_python常用内置函数
- python中特殊符号怎么输入_python中怎么输入引号
- 一到九乘法口诀VB源码
- 记 * 恢复ext4硬盘的数据
- 各种神奇的软件的注册码集合
- 易语言新手入门教程第十三课 - 制作QQ自动登录器
- python mssql get image bin_python实现mssql里点数据集到AutoCAD的文本转换
- Windows Phone上的相机景深计算器
- 一个屌丝程序猿的人生(十八)
- 高速收费员招聘考试题计算机题,高速公路面试题和考官题本及答案44套
- o2o现状及未来发展趋势是什么?
- 固定表格第一行(表头固定),其他行可以上下滚动
- latex大括号 多行公式_问题百出的MathType公式编辑器,会有替代品吗?
- uni-app分享小程序页面给微信好友;小程序分享无效原因;小程序分享失败原因;
- 51cto学院微信支付实战对接开发视频教程
- 信息处理工具计算机.ppt,计算机信息处理工具之一.ppt