Я работаю над приложением, которое отправляет запрос на сторонний сервер лицензирования продукта, ждет ответа, а затем отправляет запрос на мой сервер через несколько секунд. Позже я сравниваю две записи на основе даты и времени их создания. Когда я смотрю на время, они кажутся примерно 6 часами (предположительно из-за различий в часовых поясах). Однако, когда я запускаю каждую функцию PHP strtotime(), результаты удаляются всего на несколько секунд. Вот пример:PHP-как работает strtotime()?
echo strtotime("2013-04-29T14:55:47.707Z");
echo '<br>';
echo strtotime("2013-04-29 08:56:10");
дисплеи, как:
1367247347
1367247370
который является лишь разницей 23 секунд, а не 6 часов.
Если я не предоставляю информацию о часовом поясе каждой строки даты, как они подходят так близко друг к другу?
(Имейте в виду, что я хотел бы, чтобы эти результаты, чтобы быть правильным, я просто не знаю, как я получаю их)
цифры от 'StrToTime() '- [Unix timestamps] (http://en.wikipedia.org/wiki/Unix_time). Первая строка времени находится в часовом поясе «UTC» (обозначается буквой «Z» для «Zulu»). Вторая временная строка не имеет указанного часового пояса, поэтому использует то, что в настоящее время настроено для вашего PHP, у которого есть смещение -6 часов с UTC. – salathe
Единственное, что я могу придумать, это то, что '.707Z' должен переводить на какой-то тип информации о часовом поясе. – Pitchinnate
часовой пояс по умолчанию установлен в UTC, поэтому они вычисляются в пределах того же часового пояса. См. [Здесь] (http://php.net/manual/en/function.date-default-timezone-set.php), если вам нужно другое поведение – Orangepill