Ich habe den gleichen Code für 5+ Jahre, PHP 5.x und habe plötzlich Probleme mit strtotime und UK Datumsformate. Ich schrieb dieses kleine Skript-Test:PHP 5.x strtotime nicht UK-Format d-m-y ordnungsgemäß
<?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>";
?>
Diese Ausgänge:
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
Sie können deutlich sehen, dass die UK-Version nicht korrekt ist, ist die US-Version korrekt ist. Die UK-Version konvertiert den Unix-Zeitstempel nicht korrekt.
Wie ich schon sagte, ich habe strtotime seit Jahren verwendet, plötzlich diese Ergebnisse? Verliere ich meine Gedanken?
hast du andere php-Versionen getestet –
Ich habe 5.4, 5.5, 5.6 und 7.0 versucht. 7.0 blies meinen Code sofort, also rannte ich in Deckung. – Gerfnad
Danke für die Bearbeitung. Habe es für das nächste Mal. – Gerfnad