Heim > Backend-Entwicklung > PHP-Tutorial > 1 Tag entspricht 86400 Sekunden?

1 Tag entspricht 86400 Sekunden?

WBOY
Freigeben: 2016-07-30 13:30:15
Original
3311 Leute haben es durchsucht

Datumsoperationen werden häufig beim Schreiben von Code verwendet. Der Einfachheit halber ist es meistens möglich, einfach einen Zeitstempel hinzuzufügen und zu entfernen:

$time = mktime(0, 0, 0, 8, 28, 2015);
$one_hour_later = date('Y-m-d H:i:s', $time + 3600);
Nach dem Login kopieren

Dies ist eine einfache Möglichkeit, den Zeitstempel eine Stunde später im Code zu erhalten, aber wenn Sie hineinzoomen auf Einheiten über Tagen, ist dieser Zeitstempel wirklich das, was Sie wollen?

Wenn Sie beispielsweise einen Zeitstempel von 0 Uhr an einem bestimmten Tag haben und den Zeitstempel von 0 Uhr 5 Tage später wissen möchten, ist es richtig, einfach die Zeit nach 5*86400 hinzuzufügen ?

$time = mktime(0, 0, 0, 3, 8, 2015);
$five_day_later = date('Y-m-d H:i:s', $time + 5 * 86400);
echo $five_day_later; 
Nach dem Login kopieren

>> 2015-03-13 00:00:00

Es scheint kein Problem zu geben. Aber was ist, wenn jemand an einem anderen Ort es ausführt?

// 时区设置为美国芝加哥
date_default_timezone_set('America/Chicago');
$time = mktime(0, 0, 0, 3, 8, 2015);
$five_day_later = date('Y-m-d H:i:s', $time + 5 * 86400);
echo $five_day_later; 
Nach dem Login kopieren
Nach dem Login kopieren

>> 2015-03-13 01:00:00

Warum ist es fünf Tage später nicht 0 Uhr?

Natürlich liegt dieses Hauptproblem in der Sommerzeit (das spezifische Prinzip der Sommerzeit wird nicht eingeführt, Sie können Baidu selbst verwenden).

Lösung: Verwenden Sie die Funktion strtotime anstelle von Addition und Subtraktion

// 时区设置为美国芝加哥
date_default_timezone_set('America/Chicago');
$time = mktime(0, 0, 0, 3, 8, 2015);
$five_day_later = date('Y-m-d H:i:s', strtotime('+5 days', $time));
echo $five_day_later;
Nach dem Login kopieren
>> 2015-03-13 00:00:00

Obwohl dieses Problem nicht auf diese anwendbar ist Für diejenigen, die dies nicht tun. In Zeitzonen gibt es keine Sommerzeit. In Zeitzonen, in denen Sommerzeit gilt, hat sie jedoch Auswirkungen auf Ihre erwarteten Ergebnisse.

Urheberrechtserklärung: Dieser Artikel ist ein Originalartikel des Bloggers und darf nicht ohne die Erlaubnis des Bloggers reproduziert werden.

Oben wird erläutert, wie 1 Tag 86400 Sekunden entspricht. Ich hoffe, dass es Freunden, die sich für PHP-Tutorials interessieren, hilfreich sein wird, einschließlich relevanter Inhalte.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage