29 Stimmen

Was am 31. Dezember 1969 um 7:00 Uhr geschah

Jedes Mal, wenn ich in PHP eine Variable wie diese erzeuge:

$date = strtotime($row['date']);
$date = date("M d Y \a\\t g:i A", $date); // Mmm dd YYYY at h:mm PM/AM

und irgendwie row['date'] zufällig 0 ist, das Datum Dec 31 1969 at 7:00 PM auf dem Bildschirm angezeigt wird? Google sagt mir nicht viel. Ich frage mich, ob dieses Datum irgendeine Bedeutung hat.

52voto

echo Punkte 7477

Die Unix-Epoche ist die Zeit 00:00:00 UTC am 1. Januar 1970. Dies ist der Bezugspunkt für alle Zeitstempel. Wenn Sie die Datums-/Zeitfunktionen von PHP verwenden, arbeiten Sie immer mit der Anzahl der Sekunden seit der Epoche. Zeit 0 ist die Epoche, und Sie (oder Ihr Webserver) müssen sich an der Ostküste der USA befinden, die 5 Stunden hinter der UTC-Zeit liegt.

31voto

T Nguyen Punkte 3134

Ich finde es lustig, dass nicht eine einzige Antwort hier versucht hat, Ihre eigentliche Frage zu beantworten, die da lautete (wenn ich sie umschreiben darf): "Welche Bedeutung hat das aktuelle Datum der Unix-Epoche"?

Ich bin kein Experte auf diesem Gebiet, aber so wie ich es verstehe, wurde das Konzept der Epochenzeit 1971 erfunden. Die Programmierer wählten das willkürliche Datum des 1. Januar 1971 GMT als Epochenzeit. Das lag zum Teil daran, dass ältere Computer nicht mit großen Zahlen umgehen konnten, so dass das Datum in der jüngeren Vergangenheit liegen musste. Später wurde die Epochenzeit auf den 1. Januar 1970 angepasst, um eine schöne, runde Zahl zu erhalten.

Im Grunde ist an diesem Tag also nichts "passiert". Es war ein willkürlich gewähltes Datum, das auf der ursprünglichen Zeit der Arbeiten beruhte.

6voto

Amber Punkte 473552

Unix-Zeitstempel werden gemessen in "Zeit seit dem Unix-Epoche ", das ist Mitternacht GMT am Ende des 31. Dezember 1969 (auch bekannt als 00:00 GMT 1. Januar 1970). Da Sie anscheinend auf Eastern Standard Time sind, was GMT-5 ist, erhalten Sie 7pm Dec. 31st 1969 für einen Unix-Zeitstempelwert von 0.

4voto

Michael Borgwardt Punkte 334642

Lassen Sie mich raten: Sie leben an der Ostküste der USA?

PHP verwendet, wie viele andere Systeme auch, die Unix-Epoche um die Zeit zu messen, d.h. ein Wert von 0 steht für den 1. Januar 1970, Mitternacht UTC - was dem 31. Dezember 1969 um 19:00 Uhr Eastern Standard Time entspricht.

1voto

Austin Fitzpatrick Punkte 6955

Ein Format, in dem Datumsobjekte gespeichert werden, ist die Zeit in Sekunden, die seit einer beliebigen Startzeit verstrichen ist. Die Frage nach einer formatierten Version von "0" ist wie die Frage nach dieser beliebigen Startzeit. Ich weiß nicht mehr, warum dieses Datum gewählt wurde, aber ich bin sicher, Wikipedia weiß es. Siehe den Artikel über Unix-Zeit weiter unten.

Lesen Sie mehr über Unix Time

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X