date — PHP автоматически конвертирует стандартное время в летнее время?

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);
}

С Уважением,
Вамси Кришна Гранди

0

Решение

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
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]