Deutsch

Entwicklertools · Unix-Zeitstempelkonverter

Warum die Unix-Zeit am 1 Januar beginnt 1970: eine kurze Geschichte der Epoche

· Hintergrund

Zeitstempel Unix-Zeit Datenformate

Eine Zeitleiste, die vom Nullpunkt der Unix-Epoche ausgeht
Original-ToolAcre-Vektorillustration

Am 1 Januar 1970 ist nichts passiert; Das Datum wurde aus Bequemlichkeitsgründen gewählt, nachdem die ursprüngliche Unix-Uhr überzulaufen drohte. Dieser Beitrag erzählt die Geschichte der frühen Unix-Uhr, der Umstellung auf Sekunden und wie sich die Konvention überall verbreitete.

Ein Datum, das niemand feiert – warum 1970 ein halbes Jahrhundert später immer wieder in Bugs, Standardeinstellungen und Dashboards auftaucht

Januar 1970 erscheint immer dann, wenn Software einen kleinen Fehler macht oder Sekunden für Millisekunden zählt. Es handelt sich nicht um einen von ToolAcre generierten Fallback-Geburtstag. es ist der Nullpunkt, von dem aus die Eingabe interpretiert wurde. Der Test für Epoche Null gibt `1970-01-01T00:00:00.000Z` und Donnerstag zurück.

Dieses Datum zu sehen ist daher diagnostisch. Ein Wert nahe Null, ein fehlendes Feld, das auf Null gesetzt wird, oder eine Nichtübereinstimmung der Skala können allesamt in der Nähe landen. Erfassen Sie den Rohwert, bevor Sie der Formatierung die Schuld geben. Die Kalenderausgabe zeigt die empfangene Arithmetik an.

Die Notable-Epoche-Tabelle von ToolAcre gibt Null eine bewusste Bezeichnung und unterstreicht damit, dass es sich bei 1970 um eine definierte Referenz und nicht um eine vom Browser ausgewählte Fehlerseite handelt.

Die erste Uhr von Unix – sie zählt Sechzigstelsekunden ab Beginn von 1971 und hat in weniger als drei Jahren keinen 32-Bit-Speicherplatz mehr

Das Arbeitsbuch lieferte einen detaillierten Bericht über eine frühe Uhr, die Sechzigstel von 1971 zählte. Keine der erforderlichen Repository-Quellen dokumentiert diesen Verlauf. Eine Wiederholung aus dem Gedächtnis würde gegen den Autorenvertrag verstoßen, selbst wenn ein externer Verlauf dies später unterstützen könnte.

Was demonstriert werden kann, ist die aktuelle Achse: Null in der Epoche, positive Sekunden danach und negative Sekunden davor. Für die Nutzung des Konverters und der Diagnosesoftware reicht dieser Mechanismus aus. Ein zukünftiger historischer Artikel sollte überprüfte primäre oder wissenschaftliche Quellen hinzufügen, anstatt Code als Beweis für Designtreffen zu behandeln.

Das Repository enthält nicht die Quelle des ersten Uhrendesigns von Unix, daher wird keine historische Rekonstruktion behauptet

ToolAcre benennt seinen eingegebenen Unix-Zeitstempel und definiert ihn in der Fehleranleitung als Sekunden oder Millisekunden seit 1970-01-01 UTC. Die Quelle erklärt nicht, warum dieses Jahr ausgewählt wurde, ob Rundheit wichtig war oder welchen Horizont die Designer wollten. Diese Motive bleiben ausgelassen.

Die Arithmetik erklärt den dauerhaften Nutzen eines festen Ursprungs: Die Subtraktion ergibt die zurückgelegte Distanz, der Vergleich ordnet die Zeitpunkte an und ein Vorzeichen gibt an, auf welcher Seite der Null ein Wert liegt. Die Wahl von Null ist konventionell; Die Konsistenz zwischen Produzenten und Verbrauchern macht die Zahlen interoperabel.

Diese Unterscheidung trennt Konvention und Konsequenz. Software kann sich getrost auf die Konsequenz verlassen, während Historiker weiterhin Beweise für den Ursprung der Konvention auswerten.

Die implementierte Definition verwendet 1970; Motive für die Wahl erfordern historische Quellen, die hier nicht aufgeführt sind

Das Testmodell jeden Tag wie die POSIX-Konvertierung und springt explizit von `2016-12-31T23:59:59Z` zu `2017-01-01T00:00:00Z`. Das ist ein ausführbarer Beweis für das Verhalten dieses Tools. Es handelt sich nicht um eine Zitierung des Wortlauts oder des vollständigen Umfangs einer externen Norm.

Halten Sie Standardansprüche von Implementierungstests getrennt. Ein Test beweist, was ein Release unter seinen Fixtures tut; Ein Standarddokument definiert, was konforme Systeme tun sollen. Hier ist der praktische Vertrag klar genug, um die Ausgabe vorherzusagen, ohne die Formalisierungsgeschichte neu zu erfinden.

Der Test verhindert außerdem, dass ein zukünftiger Refaktor stillschweigend eine spezielle Sprungbezeichnung in die Ausgabe einfügt. Die beobachtbare Kompatibilität wird gewahrt, ohne zu überbewerten, warum die Konvention existiert.

ToolAcre testet das POSIX-Modell, dient jedoch nicht als Standardzitierung

Das JavaScript-Datum stellt die Epochenanzahl in Millisekunden dar, während ToolAcre Unix-Sekunden akzeptiert und diese durch Multiplikation mit 1,000 umwandelt. Die Route gibt auch beide Formen zurück. Diese Grenze erklärt, warum Webanwendungen häufig denselben Zeitpunkt mit drei zusätzlichen Dezimalnullen anzeigen.

Das Repository kann die Chronologie nicht ermitteln, nach der Datenbanken, C-Bibliotheken und andere Ökosysteme Epochendarstellungen übernommen haben. Anstatt eine Verbreitung ohne Quelle zu erzählen, zeigt es eine aktuelle Interoperabilitätsnaht und beschriftet die verwendete Einheit. Das ist ein verwertbarer Beweis für die Entwickler, die heute arbeiten.

Diese Zurückhaltung vermeidet ein bekanntes inhaltliches Versagen: eine Abfolge plausibler Meilensteine, die ohne Zitate wiederholt werden, bis spätere Leser die angesammelten Wiederholungen mit dokumentarischen Beweisen verwechseln.

Repository-Beweise zeigen die Millisekundendarstellung von JavaScript, nicht den vollständigen Verbreitungsverlauf

Eine feste Epoche trägt keine lokale Zone. ToolAcre formatiert das resultierende Datum in UTC und separat in der lokalen Zone des Browsers. Negative Werte erstrecken sich vor Null, wie der −1-Test zeigt. Diese Konsequenzen ergeben sich direkt aus einer numerischen Achse und einer Formatierungsebene.

Die Implementierung hat außerdem einen Datumsbereich von ±8.64×10¹⁵ Millisekunden. Das ist eine Grenze der gewählten Darstellung, keine Grenze, die der abstrakten Idee einer Epoche innewohnt. Identifizieren Sie immer, wessen Bereich und Einheit besprochen werden, bevor Sie ein Umrechnungsergebnis verallgemeinern.

Der lokale Formatierer kann je nach Offset ein Datum vor oder nach der UTC-Grenze anwenden. Das verschiebt den Nullpunkt nicht; es verändert nur die menschliche Kalenderprojektion.

Was dies nicht abdeckt – die Epochen anderer Systeme, wie 1900, 1601 und 1980, die ihre eigene Geschichte haben

Andere Systeme können einen anderen Nullpunkt und eine andere Skala wählen, weshalb eine große Ganzzahl unter beiden ToolAcre-Einheiten möglicherweise unsinnig bleibt. In diesem Artikel wird nicht auf die Geschichte der Ursprünge von 1900, 1601 oder 1980 eingegangen. Artikel 340 konzentriert sich stattdessen auf das Erkennen dieser Diskrepanz und das Ableiten von Konvertierungen aus dokumentierten Definitionen.

Wenn der Ursprung unbekannt ist, vergleichen Sie ihn mit der Quelldokumentation, anstatt wiederholt Nullen zu verschieben. Ein Unix-Konverter geht absichtlich von 1970 aus; Es kann eine fremde Epoche nicht automatisch anhand einer Zahl identifizieren. Das Beibehalten des Ursprungs neben der Einheit verhindert, dass ein arithmetischer Erfolg zu einem semantischen Fehler wird.

Andere Epochenursprünge werden separat verglichen, ohne dass ihre Geschichte hier beansprucht wird

Die zuverlässige Lektion ist mechanisch: Die Unix-Null wird dem Anfang von 1970 UTC zugeordnet, Zeichen erstrecken sich um ihn herum und Sekunden werden zu JavaScript-Millisekunden vor der Datumsformatierung. ToolAcre macht jeden dieser Fakten mit den Werten 0, −1 und der Notable-Epoche-Tabelle beobachtbar.

Die Gründe, warum Menschen diese Konvention gewählt haben, gehören zur Quellenhistorie und nicht zu Schlussfolgerungen aus modernem Code. Wenn man diese Grenze respektiert, erhält man einen kürzeren, aber wahrheitsgemäßeren Bericht. Benutzen Sie zum Rechnen den Konverter; Verwenden Sie geeignetes historisches Material, bevor Sie Motive oder Meilensteine ​​zuordnen.

Beweisdisziplin ist Teil der technischen Genauigkeit. Eine präzise Auslassung sagt den Betreuern genau, welche neue Beschaffung erforderlich ist, bevor das historische Konto verantwortungsvoll erweitert werden kann.