在php中,如果想要输出系统的时间,我们可以用date()函数进行获取。
具体的代码如下:<?php echo date("Y-m-d h:i:s");?> //输出系统的当前时间
其中"Y"控制符代表四位的年数,"m"控制符代表系统当前的属于一年中的第几个月(有前导0),"d"控制符代表了一个月中的第几天(有前导数0),"h:i:s"表示当前的"小时数:分钟数:秒数"(均有前导0)。具体的控制符可以参考其他资料。
我们在这段代码写好后的本来愿望是输出系统的当前时间。假如系统的当前时间是:"2009-3-14 14:22:56",
我们期望在执行了上面的语句后可以在网页文件中输出我们想要看到的当前系统时间,但是在执行了上面的语句后,我们发现输出的时间要比系统的时间 慢 8个小时 ,也就是说我们看到的在页面上面显示的文件是下面的时间:"2009-3-14 06:22:56";。下面说一下这个原因:
虽然现在的时间标准是协调世界时(UTC),但是php5.0中,默认的时间格式依旧采用旧制的格林威治标准时间。在php 5.1.0以后,php.ini中引入了date.timezone ,默认的情况下是关闭着的,也就是说默认的情况下输出的时间是 格林威治时间(比北京时间慢 8小时)。
下面说一下解决的方法:
一:php.ini文件
二:在脚本中直接写入
具体的示例代码如下:
<?
date_default_timezone_set('PRC');//此句用于消除时间差
$creattime=date("Y-m-d h:i:s");
?>
我们利用了date_default_timezone_set();函数设定时区,其中的PRC代表中国,当然也可以用上面提到的三种时区标识符。
三:不适用 5.0以后的版本
当然第三种方法看起来有点不太妥当,时代在发展,语言在发展,我们就应该跟上形势,否则终将被软件设计这个大业所淘汰!