php 时间戳 最大,PHP中大于2038年时间戳的问题处理

这篇博客讨论了PHP在32位系统中遇到的2038年时间戳问题,该问题在PHP版本低于3.x.x时出现。文章指出,当时间戳超过2038年,程序会出错。解决方案是使用`DateTime`类,文中给出了一个在ThinkPHP框架下整合的示例函数`fun_strtotime`,该函数能够正确处理大于2038年的时间戳。
摘要由CSDN通过智能技术生成

PHP中大于2038年时间戳的问题处理

php在进行时间格式化的时候遇到了2038问题,就是时间只要大于2038年就会出错。只有是32位系统,PHP版本 <= 3.x.x 的时候会出现,64位系统和PHP > 3.x.x,就没问题。

解决方法:new DateTime解决,下面是整合的方法(ThinkPHP框架):

function fun_strtotime($var1=0,$var2=0){

if(!$var2){

$var2 = $var1;

$var1 = 0;

}

if(is_numeric($var2)){

$var2 = ‘@’.$var2;

}

try{

$date = new \DateTime($var2);

$date->setTimezone(new \DateTimeZone(date_default_timezone_get()));

}catch(Exception $e){ $date = 0;}

if(is_object($date)){

if($var1)

$date->modify($var1);

return $date->format(‘U’);

}else{

return 0;

}

}

标签:PHP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值