Ich habe gesehen, dass es zwei Methoden gibt, mktime() und gmmktime(). Eine dient dazu, den lokalen Zeitstempel zu erhalten, und die andere ist der UTC-Zeitstempel sind die gleichen, nicht Sollte der Unterschied 8 Stunden sein? Der lokale Zeitstempel ist Pekinger Zeit
Antwortinhalt:Entschuldigen Sie meine Unwissenheit, sind die Zeitstempel nicht alle UTC? Sie können die Ortszeit erst nach der Formatierung ermitteln.
Nach einem Blick liegt der Unterschied zwischen diesen beiden Funktionen in der Verarbeitung der übergebenen Parameter.
Die Standardeinstellung ist die Greenwich Mean Time (GMT). mktime
gmmktime
Zum Beispiel gibt
Ortszeit mktime(1,50,15,4,15,2012)
um 1:50:15 Uhr am 15. April 2012 und GMT zurück gmmktime(1,50,15,4,15,2012)
Zeitstempel von 1:50:15 am 15. April 2012, daher sind die natürlichen Ergebnisse unterschiedlich.
Die Zeitzone
Ortszeit wird über die Option in oder durch Aufrufen der Funktion php.ini
festgelegt. date.timezone
date_default_timezone_set
Wenn der Parameter weggelassen wird, ist der Standardwert
, was natürlich gleich ist (selbst wenn Sie die Zeitzone festlegen, basiert der Zeitstempel immer noch auf UTC, ist also immer noch derselbe). . Wenn Sie nur den
aktuellen Zeitstempel erhalten möchten, empfiehlt sich die Verwendung der -Funktion. Die beiden oben genannten Funktionen werden hauptsächlich verwendet, um den Zeitstempel zu erhalten, der einer bestimmten Ortszeit oder GMT entspricht.
time
Ist es ein Parameterfehler oder so? Hier ist alles in Ordnung
<code><?php echo mktime(1,50,15,4,15,2012); echo '<br>'; echo gmmktime(1,50,15,4,15,2012); </code>
Stellt das lokale PHP die Zeit des East Eighth District ein?
http://www.cnblogs.com/mxw09/...
Dieser Link sollte es klar erklären
Bitte geben Sie die konkrete Startzeit ein
<code><?php $ltime = mktime(0,0,0,1,1,1990); $gtime = gmmktime(0,0,0,1,1,1990);</code>
Andernfalls wird es standardmäßig konvertiert und führt zum gleichen Ergebnis.