我是一个应用程序,说最终用户可能来自任何国家/地区,但当他执行某些操作时,我希望日期显示在特定时区。
我希望将其插入到数据库中,以便我使用date_default_timezone_set('')执行此操作; with date()
这是正确的方式还是我应该使用gmdate()并添加时区。
由于
答案 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');