2013-06-04 2 views
3

Если я сделать следующее:PHP Дата с Отметка нуля возвращается 1 час

date("H:i:s", 0); 

возвращает 01:00:00, в то время как он должен дать 00:00:00.
Возможно, это связано с часовым поясом моего локального хоста? (UTC + 1)

Если да, то как я могу это исправить?

+0

Да, попробуйте изменить часовой пояс – pattyd

+1

да, это ваш часовой пояс. попробуйте 'date ('H: i: s T')', чтобы узнать, что заполняет TZ php. –

ответ

5

Задайте часовой пояс, прежде чем звонить date(). Вы будете использовать date_default_timezone_set() для этого:

date_default_timezone_set('UTC'); 
echo date("H:i:s", 0); 

See it in action

Не забудьте установить его обратно, если вы делаете часовой пояс чувствительных операций.

Или:

Вот альтернативный способ сделать это с помощью DateTime():

$dt = new DateTime('@0', new DateTimeZone('UTC')); 
echo $dt->format('H:i:s'); 

See it in action

+0

настройка временной зоны. Спасибо! –

+0

Настройка часового пояса работает в течение часов, но: дата эха ('d H: i: s', 0); возвращается: 01 00:00:00 –

Смежные вопросы