我正在尝试将当前时间转换为UTC,将UTC转换为当前时区。
这是我所做的:
$schedule_date = new DateTime($triggerOn, new DateTimeZone('UTC') );
$triggerOn = $schedule_date->format('Y-m-d H:i:s');
echo $triggerOn;
输出值不会更改格式更改的唯一内容。
字符串
$triggerOn
是根据America/Los_Angeles
时区生成的这是我的字符串前后的样子:
BEFORE 04/01/2013 03:08 PM
AFTER 2013-04-01 15:08:00
因此,这里的问题是DateTime不能转换为UTC。
最佳答案
您正在寻找的是:
$triggerOn = '04/01/2013 03:08 PM';
$user_tz = 'America/Los_Angeles';
echo $triggerOn; // echoes 04/01/2013 03:08 PM
$schedule_date = new DateTime($triggerOn, new DateTimeZone($user_tz) );
$schedule_date->setTimeZone(new DateTimeZone('UTC'));
$triggerOn = $schedule_date->format('Y-m-d H:i:s');
echo $triggerOn; // echoes 2013-04-01 22:08:00
关于php - 如何使用DateTime类在PHP中的时区之间进行转换?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15625834/