Я использую тот же код в течение 5+ лет, PHP 5.x, и у меня внезапно возникают проблемы с форматами даты и времени в формате strtotime. Я написал этот небольшой скрипт для проверки:PHP 5.x strtotime не разбирается в британском формате d-m-y правильно
<?php
echo "<br /><b>PostDate: 1-7-15</b>";
$format="d-m-y";
$date="1-7-15";
$c = strtotime($date);
echo "<br /><b>Unix TS: - ".$c."</b>";
$a = date($format,$c) ;
echo "<br /><b>Unix TS to date - ".$a."</b>";
echo "<br /> <br />";
echo "<br /><b>PostDate: 7/1/15</b>";
$format="m/d/y";
$date="7/1/15";
$c = strtotime($date);
echo "<br /><b>Unix TS: - ".$c."</b>";
$a = date($format,$c) ;
echo "<br /><b>Unix TS to date - ".$a."</b>";
?>
Этот вывод:
PostDate: 1-7-15
Unix TS: - 995173200
Unix TS to date - 15-07-01
PostDate: 7/1/15
Unix TS: - 1435726800
Unix TS to date - 07/01/15
Вы можете ясно видеть, что британская версия не является правильным, версия США правильно. Версия в Великобритании не соответствует правильной отметке Unix Time.
Как я уже говорил, я использовал strtotime в течение многих лет, внезапно эти результаты? Я теряю рассудок?
Вы тестировали другие версии php –
Я пробовал 5.4, 5.5, 5.6 и 7.0. 7.0 немедленно сдул мой код, поэтому я побежал за крышкой. – Gerfnad
Спасибо за редактирование. Получил это в следующий раз. – Gerfnad