php实现时间戳转换在32位系统下超过2038年自定义处理函数

                      
                            <

//前几天在项目中遇到在32位系统下,时间戳转换失败,超出最大int值.strtotime失效,如果遇到这种情况可尝试一下方法 

 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;  

    }  

}  

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

    if(!$var2){  

        $var2 = $var1;  

        $var1 = 'Y-m-d H:i:s';  

    }  

    try{  

        $date  =  new DateTime('@'.$var2);  

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

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

    if(is_object($date)){  

        return $date->format($var1);  

    }else{  

        return '';  

    }  

}  

?>   

>