php5.2.4之前的版本无需设置默认的时区,使用date函数生成时间时自动根据所在时区创建时间。
在php5.2.4下生成时间的时区是GMT,而不是GMT+8,所以显示时间时会相差8个小时。修改php环境默认时区有2个方法:
1、修改php.ini
打开php.ini文件,找到 date.timezone 那一行,去掉前面的“;” ,修改为你需要的时区,例如:date.timezone = Asia/Shanghai
2、使用php函数
如果你使用北京时间,就像这样就可以了。date_default_timezone_set("Asia/Shanghai");注:确认修改正确的php.ini文件,通过phpinfo()可以查看php.ini文件所在的路径,修改php.ini文件后重启apache。
在php5.2.4下生成时间的时区是GMT,而不是GMT+8,所以显示时间时会相差8个小时。修改php环境默认时区有2个方法:
1、修改php.ini
打开php.ini文件,找到 date.timezone 那一行,去掉前面的“;” ,修改为你需要的时区,例如:date.timezone = Asia/Shanghai
2、使用php函数
如果你使用北京时间,就像这样就可以了。date_default_timezone_set("Asia/Shanghai");注:确认修改正确的php.ini文件,通过phpinfo()可以查看php.ini文件所在的路径,修改php.ini文件后重启apache。
如果进行了这项修改之后,它会把16点显示成04,
我如果想显示成16怎么处理呢?
<?php
$date = new DateTime();
$date->modify("+8 hour");
echo $date->format("Y-m-d H:i:s");
?>
这个是手册里的示例啊。。搜date_modify下面的示例。
http://cn2.php.net/manual/en/book.datetime.php默认的时区是GMT,中国是+8区,所以有8小时差解决办法,设置时区使用API date_timezone_set
http://cn2.php.net/manual/en/function.date-timezone-set.php支持的时区
http://us.php.net/manual/en/timezones.others.php当然你修改你的php.ini也可以
//如果只写这几句,而不对服务器进行设置,他只能把16点,显示成04,不信的可以试一试啊,
//我想学找一种不该服务器php.ini的方法,请高手指点
date_default_timezone_set("Asia/Shanghai");
$hh=date("his");
echo $hh;
[/code]
问题不是那个date_default_timezone_set。你的格式化字符串是12小时制的。date_default_timezone_set("Asia/Shanghai");
$hh=date("His");//把“h”改成大写的就可以了
echo $hh;
如果你要把他搞成16点,那么请使用H参数。date_default_timezone_set("Asia/Shanghai");
$hh=date("H:i:s");
echo $hh;