PHP将mktime结果转换为UTC

我正在使用此代码在PST(又名America / Los_Angeles)时间生成昨天的开始.我无法弄清楚如何将结果转换为UTC.

date_default_timezone_set("America/Los_Angeles");
$time1 = date("Y-m-d H:i:s", mktime(0,0,0, date('n'), date('j')-1, date('Y')));

我试过这个,但$time1不是datetime,它是字符串.所以以下方法不起作用.

$time1->setTimezone(new DateTimeZone("UTC")); 

解决方法:

DateTime类可以为您完成所有这些

$date = new DateTime(null, new DateTimeZone('America/Los_Angeles')); // will use now

echo $date->format('d/m/Y H:i:s');   //16/08/2016 16:13:29

$date->setTime(0,0,0);  
$date->modify('-1 day');
echo $date->format('d/m/Y H:i:s');   // 15/08/2016 00:00:00

$date->setTimezone(new DateTimeZone('UTC'));
echo $date->format('d/m/Y H:i:s');    // 15/08/2016 07:00:00
上一篇:php – 如何转换为UTC


下一篇:c# – 使用哪种SQL Server sql数据类型来保留UTC日期时间