关于怎样解决PHP服务器时间不准的问题,得针对不同的情况进行不同的处理。 下面是经常遇到的情况,及应对办法。 1.PHP服务器时区不对,使用下面代码修正: <?php $timezone = "PRC"; if(function_exists('date_default_timezone_set')){ date_default_timezone_set($timezone); } echo date('d-m-Y H:i:s'); ?> 或修改PHP.INI文件后重新启动IIS或APACHE服务器 date.timezone = RPC 2.PHP服务器的时间不对,不是时区,该问题解决方法如下: 方法一 如果你是管理员,直接去调整服务器的时间,只要服务器时间校正了,就没问题了。 方法二 如果没法修改服务器时间,又要PHP程序显示的时间正确,那得通过PHP代码来实现。具体过程如下: 在全局配置文件中,添加时间提前量。 $webdb['correctiontime'] = '-110';//把服务器时间减去110秒 书写时间显示函数: //格式化时间为年月日 function day($time = '') { global $webdb; if (!$time) { $time = time(); } return date("Y/m/d",$time+$webdb[correctiontime]); } //格式化时间为年月日时分秒 function daytime($time = '') { global $webdb; if (!$time) { $time = time(); } return date("Y/m/d H:i:s",$time+$webdb[correctiontime]); } //格式化时间为[2012/06/30 18:24] function dayshorttime($time = '') { global $webdb; if (!$time) { $time = time(); } return date("Y/m/d H:i",$time+$webdb[correctiontime]); } 最后,在所有要显示PHP时间的地方,调用上面3个函数中的其中一个。 平时还是喜欢用最后一种方法,因为不能保证虚拟服务器的时间是完全准确的世界时间。 如果你有系统管理权限,那又另当别论。 |