PHP会自动将标准时间转换为白天节省时间吗?例如,我们需要PST[$toTimezone]
时区的时间,但PHP正在返回PDT。下面是我们使用的示例函数。
$fromTime = '2014-09-16 06:45:45';
$fromTimezone = 'GMT';
$toTimezone = 'PST';
function x($fromTime, $fromTimezone, $toTimezone,$format = 'l, F jS, Y g:i A T') {
$fromTimezone = new \DateTimeZone($fromTimezone);
$toTimezone = new \DateTimeZone($toTimezone);
$orgTime = new \DateTime($fromTime, $fromTimezone);
$toTime = new \DateTime($orgTime->format("c"));
$toTime->setTimezone($toTimezone);
return $toTime->format($format);
}
此致 Vamsi Krishna Grandhi
答案 0 :(得分:3)
PHP会将时间转换为当前观察到的时区。因此,在纽约的情况下,它将在今天的东部夏令时(-4)和今年的最后一天,纽约将在东部标准时间。没有观察夏令时的亚利桑那州凤凰城总是在山地标准时间。
$date = new DateTime('2014-09-16', new DateTimeZone('America/New_York'));
echo $date->format('c T');
$date = new DateTime('2014-09-16', new DateTimeZone('America/Phoenix'));
echo $date->format('c T');
$date = new DateTime('2014-12-31', new DateTimeZone('America/New_York'));
echo $date->format('c T');
$date = new DateTime('2014-12-31', new DateTimeZone('America/Phoenix'));
echo $date->format('c T');
2014-09-16T21:12:03-04:00 EDT
2014-09-16T18:12:03-07:00 MST
2014-12-31T00:00:00-05:00 EST
2014-12-31T00:00:00-07:00 MST