2016-11-08 2 views
4

У меня есть следующая функция даты PHP и она возвращает «UTC» в качестве часового пояса. Мне нужно, чтобы вернуть часовой пояс для Америки/Нью-Йорка EST или EDT в зависимости от ситуации.Как вернуть правильный часовой пояс в PHP

date('D, d M Y H:i:s T');

Возвращается: Thu, 08 Oct 2015 16:48:00 UTC

мне нужно вернуться чт, 8 октября 2015 16:48:00 EDT

Исправлено.

Вот мой полный PHP код строки:

date_default_timezone_set('America/New_York'); 
echo '<meta http-equiv="last-modified" content="' . date('D, d M Y H:i:s T', strtotime(get_the_date() .' ' . get_the_time())) . '" />' . "\n"; 

Он является частью WordPress плагин, чья цель состоит в том, чтобы вставить мета-тег в головной контейнер, чтобы отразить дату и время WP Post был последним обновлено.

+0

Устанавливает часовой пояс перед вызовом даты() – GordonM

+0

[набор часовой пояс] (http://php.net/manual/en/function.date-default-timezone-set.php), затем cal l date –

+1

'$ estTime = (новый DateTime ('America/New_York')) -> format ('h: i: s: u');': http://stackoverflow.com/a/22393061/1158599 –

ответ

1

Первый определяющий часового пояса по умолчанию для America/New_York то вы можете использовать RFC850 для отображения даты в нужном формате

DATE_RFC850

Это формат RFC850, который определяет стандарты для USENET сообщений. Формат PHP - «l, d-M-y H: i: s T», а пример вывода с даты (DATE_RFC850) - «воскресенье, 14 августа-05 16:13:03 UTC».

Пример использования

date_default_timezone_set('America/New_York'); 
$a = strtotime('2015-08-11 16:48:00'); 
print date(DATE_RFC850, $a); 

// output 
Tuesday, 11-Aug-15 16:48:00 EDT 

Working demo

Можно также добавить часовой пояс по умолчанию в вашем php.ini

[Date] 
; Defines the default timezone used by the date functions 
; http://php.net/date.timezone 
; date.timezone = 
Смежные вопросы