Ich kann das nicht verstehen - warum passiert Folgendes?
%Vor%ODER nur die strtotime Funktion
zurückgeben %Vor%Diese Werte kamen von einigen Tests, die ich gerade machte, um herauszufinden, wie / warum bestimmte Werte von einer bestimmten Funktion zurückgegeben wurden.
Es bewirkt, dass meine Funktion fehlschlägt - weil Sie annehmen würden, dass "a" (oder ein einzelnes Zeichen) als falsches falsches Datum zurückgegeben wird.
Sowohl einzelne als auch doppelte Zeichen werden als Zeitzonen interpretiert (Tabelle "verwendete Symbole") Zeile "tz"); sechs Ziffern werden interpretiert als HHMMII
(Tabelle "24-Stunden-Notation", Zeile " Stunde, Minuten und Sekunden, kein Doppelpunkt ").
Im ersten und dritten Fall, in dem das Parsing erfolgreich ist, gibt strtotime
einen Zeitstempel zurück, und date
gibt das Datum aus, dem es entspricht. Es ist offensichtlich, warum der erste Fall erfolgreich ist; Denken Sie für den dritten Fall daran, dass militärische Zeitzonen mit einem einzigen Buchstaben bezeichnet werden können, und dann sind die Ergebnisse sinnvoll. Folgen Sie diesem Code :
Dies druckt
%Vor% Sie können die Kontinuität sehen, wenn wir von einer Zeitzone zur nächsten gehen; die Diskontinuität für die Zeitzone 'j'
, die nicht existiert (hier schlägt das Parsing mit den gleichen Ergebnissen fehl, wie unten erklärt); die Diskontinuität bei Zeitzone 'n'
, wo wir uns von UTC + 12 nach UTC-1 usw. bewegen.
Im zweiten und vierten Fall schlägt das Parsen fehl, strtotime
gibt false
zurück und dies hat denselben Effekt, als hätten Sie date("d-m-Y", 0)
aufgerufen - es formatiert den Beginn der Epoche (1. Januar 1970, 00:00 Uhr) : 00). Dies geschieht, weil false
in die Ganzzahl 0
gemäß normalem Jonglierregeln eingeben .
strtotime('x')
wirklich zurück? Er gibt die aktuelle Zeit in der Zeitzone UTC-11 (das ist die militärische Zeitzone "x-ray") zurück. Abhängig von Ihrer lokalen Zeit und Zeitzone ist dies in der Regel entweder "heute" oder "morgen" aus Ihrer Sicht. Wenn Sie zu weniger als UTC-11 sind, dann könnte es sogar "gestern" sein (obwohl das ist nicht sehr wahrscheinlich ).