2016-05-13 3 views
-2

Сегодня я столкнулся с проблемой с PHP. Преобразование DateTime в временную метку Unix работало так, как ожидалось до сих пор. Я использую этот код для преобразования времени:Преобразование PHP в timestamp unix дает -2hr

<?php 
$date = date_create("08:00"); 
$unix = $date->getTimestamp(); 
echo $unix; 
?> 

И повторил текст является 1463119200, который указывает на время 06:00, в соответствии с онлайн-конвертер. Любое время, указанное как переменная string to date, приводит к времени - 2 часа. Почему это так? И почему все работает до сих пор? Спасибо за ваши ответы заранее.

+0

Какая настройка часового пояса в вашем php.ini? –

+0

date.timezone = Europe/Paris – Jaimez

+2

И в настоящее время в Париже разница в 2 часа от UST/UTC –

ответ

0

Онлайн-преобразователи обычно используют UST/UTC по умолчанию. Поскольку эпоха unix представляет собой конкретный момент времени (без данных о часовом поясе), ваша временная метка является счетчиком числа секунд с тех пор.

Когда вы запрашиваете онлайн-конвертер, чтобы вернуть его в удобное для человека время, оно дает правильное время, но в его собственном часовом поясе.

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