我使用Wanp作为测试服务器。这是我的代码:
$dt = time();
$mysql_datetime = strftime("%Y-%m-%d %H:%M:%S %p %z" , $dt);
echo $mysql_datetime;
这是输出:
2011-04-17 01:36:55 PM Eastern Standard Time
我的问题是,所有信息都是正确的,除了小时,即提前4小时。小时(01
PM)假设为(09
AM)。我已经在计算机上查看了我的日期和时间,时区是正确的。什么会导致这种情况发生,请帮忙。
答案 0 :(得分:4)
这可能是由于时区设置不正确造成的。 (虽然奇怪的是%z
是正确的,我认为它是正确的。)
您是否尝试使用相应的date_default_timezone_set来调用timezone value?
答案 1 :(得分:1)
您必须先准确设置您的时区。
使用date_default_timezone_set
。 Here是支持的时区列表。
答案 2 :(得分:0)
你能尝试使用DateTime类(假设你有一个合理的最新php)?
类似的东西:
$dt = new DateTime();
echo $dt->format('Y-m-d H:i:s A e');
或者,如果仍然出现时区错误,您可以尝试指定它:
$dt = new DateTime(null, new DateTimeZone('EST'));
echo $dt->format('Y-m-d H:i:s A e');
无论如何,如果有更多调试信息,我建议您查看ini_get('date.timezone')
,如果不正确,应在php.ini
文件中正确配置。