PHP日期/时间功能

时间:2012-11-04 04:07:30

标签: php

我是一个应用程序,说最终用户可能来自任何国家/地区,但当他执行某些操作时,我希望日期显示在特定时区。

我希望将其插入到数据库中,以便我使用date_default_timezone_set('')执行此操作; with date()

这是正确的方式还是我应该使用gmdate()并添加时区。

由于

2 个答案:

答案 0 :(得分:1)

不,请勿使用date_default_timezone_set()进行时区转换。这可能会产生意想不到的副作用。

相反,请使用:

$tz = new DateTimeZone('America/Los_Angeles');

$date = new DateTime('Thu, 31 Mar 2011 02:05:59 GMT');
$date->setTimeZone($tz);
echo $date->format('l F j Y g:i:s A I')."\n";

注意,您使用UTC时间创建DateTime对象,然后应用时区。这种方式更清晰。

答案 1 :(得分:0)

如果您想要GMT,我认为您应该使用正确的时区Europe/London

  date_default_timezone_set('Europe/London');