为什么日期(" c")会产生这种奇怪的结果?

时间:2015-01-12 15:16:08

标签: php datetime

$now=  date ("c");

我使用了本地Apache服务器,结果是:

  

2015-01-12T23:12:00 + 08:00

现在这是一个问题

现在,在我的计算机上,小时为22:12而不是23:12

我的时区也是雅加达,+ 7不是+8

那么为什么代码会产生2015-01-12T23:12:00+08:00

我的apache安装在某处获得了时区。某处错了。在哪里?

2 个答案:

答案 0 :(得分:3)

尝试在PHP文件的最顶部添加date_default_timezone_set("Asia/Jakarta")。如果可行,请将php.ini更改为始终使用正确的时区(date.timezone="Asia/Jakarta")。这样,您将反映服务器的正确时区(在本例中为您的计算机)。

要查看另一个时区的时间,你可以做N.B.在对这个答案的评论中建议:

$dt = new DateTime("now", new DateTimeZone('Europe/Paris')); //If that's the timezone.
echo $dt->format('c');

答案 1 :(得分:-2)

我认为这是服务器相关的东西,你必须重新配置服务器的时区。在php.ini中,查看date.timezone的值。