mysql存储日期部分程序使用了int字节,有符号时最大只能是2038年,无符号也无法超过
2106年,这对于一个长期发展的程序来说,虽然足够,但是依然让很多站长不爽!解决方法除了使用mysql自带的DATETIME 和 TIME 格式数据,还可以使用bigint类型,这对于一些已经使用int为时间戳存储的老程序比较适合。
修改mysql数据类型之后,过大的时间戳数据可能不适合原有的PHP程序,因此需要做一些修改,可按照如下函数处理:
function systemdate($curformat, $utc_value) {
while(1) {
if($utc_value > 2147483647) {
if(@date('Y', $utc_value) < 2038) {
$mydate2 = new DateTime('@'.$utc_value);
$string = $mydate2->format($curformat);
break;
}
}
$string = date($curformat, $utc_value);
break;
}
return $string;
}
如此即可显示最大9999年的时间了,应该足够用到世界末日了吧。
历史资源提醒--必看
该页面资源/教程来自原魔趣吧历史资源转移,因发布历史久远,部分资源/教程可能已失效或无法在最新版程序中安装使用!DZ资源建议在Discuz3.4及以下版本使用,PHP版本建议5.6。资源仅提供做代码研究学习使用!
因改版,部分贴内链接将无法正常跳转,如链接失效或未正常跳转,请利用站内搜索功能搜索资源名称获取对应资源!