Zeitstempel
Ein Zeitstempel (englisch timestamp) wird benutzt, um einem Ereignis einen eindeutigen Zeitpunkt zuzuordnen.
Ein Beispiel dazu ist der Posteingangsstempel auf Briefen, obgleich sich deren Genauigkeit normalerweise nur auf den Tag (selten – vor allem im Bankbereich – auch noch im Stundenbereich) bezieht. Auch eingeblendete Zeitanzeigen bei Fotos und Videoaufnahmen werden als Zeitstempel bezeichnet. Diese Stempel auf Papier können kaum geändert oder vom Dokument getrennt werden. Andererseits ist nicht jede protokollierte Zeitangabe ein Zeitstempel, insbesondere dann nicht, wenn die Zeitangabe leicht verändert werden kann oder unzuverlässig erfolgt.
Ein digitaler Zeitstempel hat seiner Anwendung entsprechend ein definiertes Format. Er sollte fälschungssicher ausgeführt werden, da mit dem Zeitstempel Zeitpunkte von Ereignissen nachgewiesen werden sollen.
Digitale Zeitstempel sind Bescheinigungen, dass ein elektronisches Dokument (oder der Hashwert ebendieses Dokumentes) zu der angegebenen Zeit dem Aussteller des Zeitstempels vorgelegen hat. Sie ergänzen den Einsatz der elektronischen Signaturen im Rechtsverkehr. Gerichte können so das fristgerechte Eintreffen einer Nachricht elektronisch bestätigen. Archive können so nachweisen, dass ein Dokument seit der Archivierung nicht geändert wurde. Auch bei großen Ausschreibungen werden Zeitstempel als Beleg und Absicherung der Angebote verwendet.
Das deutsche Signaturgesetz regelt die Anforderungen für die Ausstellung von qualifizierten Zeitstempeln als besonders hochwertige Form einer solchen Bescheinigung, bei der sichergestellt ist, dass die gültige gesetzliche Zeit aufgenommen wurde, und bei denen Fälschungen und Verfälschungen ausgeschlossen sind. Bei den heute verwendeten Verfahren unterschreibt der Aussteller eines qualifizierten Zeitstempels als unbeteiligter Dritter den Hash-Wert des bescheinigten Dokumentes zusammen mit der aktuellen Zeitangabe (Datum und Uhrzeit) mit einer qualifizierten elektronischen Signatur. Das Time Stamp Protocol (RFC 3161[1]) regelt die Übertragung der Informationen eines Zeitstempeldienstes im Internet.
In der modernen, computerisierten Nachrichten- und Datentechnik werden Zeitstempel wegen der global unterschiedlichen Zeitzonen und damit möglichen Missverständnissen entweder generell in der koordinierten Weltzeit UTC angegeben oder mit einer Angabe ergänzt, welche die lokale Abweichung zur Weltzeitzone anzeigt. Damit können Zeitstempel korrekt in verschiedene lokale Zeiten umgerechnet werden.
Unterschiede in den Zeitangaben
[Bearbeiten | Quelltext bearbeiten]Wichtig für die universelle Verwendung eines Zeitstempels mit Ortszeit (z. B. in einer E-Mail) ist die Ergänzung um die Angabe des Offsets zu UTC als numerische Angabe oder per Name wie MEZ bzw. MEST. Dies wird auch in ISO 8601 gefordert. Nur so kann ein vollständiger Vergleich von Zeitstempeln realisiert werden und das Berechnen von Zeitdifferenzen zwischen zwei Zeitstempeln ist möglich. Insbesondere in EDV-Systemen, die Daten aus mehreren Kontinenten verarbeiten, ist dies eine wichtige Anforderung.
Je nach Zusammenhang beziehen sich Zeitangaben auf unterschiedliche Zeitsysteme bzw. Arten von Uhren: Ist ein Bezug zur „Wirklichkeit“ wichtig, so benutzt man den Wert einer Echtzeituhr. Ist hingegen nur die Reihenfolge (bzw. die Kausalordnung – siehe auch Happened-Before) der Ereignisse wichtig, benutzt man eine logische Uhr. Im einfachsten Falle ist dies ein Zähler bzw. eine Sequenznummer.
Sind aber mehr als zwei Parteien an der Kommunikation beteiligt (das heißt, es gibt mehr als zwei Orte, an denen Ereignisse auftreten können), so ist es notwendig, eine komplexere logische Uhr zu verwenden, wie zum Beispiel eine Lamport-Uhr oder Vektoruhren: Sie erlauben es, die Kausalordnung der Ereignisse zu bestimmen, ohne dass die (Echtzeit-)Uhren an den verschiedenen Orten exakt synchronisiert sein müssen. Solche logischen Uhren werden vor allem von Netzwerkprotokollen und Transaktionssystemen benutzt.
Zeitangaben in Dateisystemen
[Bearbeiten | Quelltext bearbeiten]Das FAT-Dateisystem nutzt für Zeitangaben die Systemzeit mit einer Genauigkeit von 2 Sekunden. Die am weitesten verbreitete Art von Zeitstempeln in Dateisystemen ist wohl die Unixzeit, welche die Anzahl der Sekunden seit dem 1. Januar 1970 00:00 Uhr UTC ohne Schaltsekunden angibt. Die einheitlichen Unix-Datei-Zeitangaben erleichtern wesentlich die Vernetzung entfernt stehender Unix-Rechner und ihrer Dateisysteme im Internet. Bei Systemen, die diese Zahl unzureichend als vorzeichenbehaftete 32-Bit-Zahl kodieren, wird am 19. Januar 2038 ein Jahr-2038-Problem befürchtet. Eine Zeitauflösung in Mikrosekunden ist heute auf Rechnern nicht ungewöhnlich. Bei den Intel-Mikroprozessoren wurde ab dem Pentium der sogenannte Zeitstempel-Zähler (englisch Time Stamp Counter) integriert. Dieser kann mit dem Assembler-Befehl RDTSC ausgelesen werden. Bei der Synchronisierung von Dateisystemen kommt es unter Windows zu Problemen, da NTFS und FAT die Zeit mit verschiedener Genauigkeit auflösen.
Ausgabe einer Zeitinformation auf einem Rechner mit Zeitzone Europe/Berlin
[Bearbeiten | Quelltext bearbeiten]Mit PHP kann die Uhrzeit wie folgt angezeigt werden:
<?php
echo time();
// Unix-Zeit-Information des aktuellen Datums, z. B. 1214617821
echo mktime(0, 31, 30, 02, 14, 2009);
// ergibt: 1234567890
// Am Samstag, 14.02.2009 00:31:30 MEZ war die Zeit genau 1234567890
?>
Mit Visual Basic können Uhrzeiten wie folgt angezeigt werden:
Dim jetzt As Date = Date.Now
Console.WriteLine(jetzt.Ticks)
' ergibt: 633702174022502000
Dim jetzt As Date = #2/14/2009 12:31:00 AM#
Console.WriteLine(jetzt.Ticks)
' ergibt: 633701682600000000
Mit C# kann eine Uhrzeit wie folgt angezeigt werden:
System.DateTime jetzt = System.DateTime.Now;
Console.WriteLine(jetzt.Ticks);
// ergibt: 633702174022502000
System.DateTime jetzt = 14/02/2009 00:31:00;
Console.WriteLine(jetzt.Ticks);
// ergibt: 633701682600000000
Mit Ada kann eine Uhrzeit wie folgt angezeigt werden:
with Ada.Calendar; use Ada.Calendar;
with GNAT.Calendar.Time_IO;
procedure currenttime is
Now : Time := Clock;
begin
GNAT.Calendar.Time_Io.Put_Time (Now, "%s");
-- Achtung! Ada-Zeit beginnt 1970-01-01 00:00:00 UTC
end;
Zeitstempel auf Youtube
[Bearbeiten | Quelltext bearbeiten]Bei YouTube-Videos ist via der sekundengenau auswählbaren URL die präzise Fokussierung auf einzelne Szenen möglich.[2][3][4]
Siehe auch
[Bearbeiten | Quelltext bearbeiten]Weblinks
[Bearbeiten | Quelltext bearbeiten]- RFC: – Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP). August 2001 (englisch).
- Linux-Timestamp-Wandler von Bolutions. Ehemals im ; abgerufen am 17. Januar 2020. (Seite nicht mehr abrufbar. Suche in Webarchiven) (nicht mehr online verfügbar)
- Windows Command Line Tool zum Umrechnen in der Eingabeaufforderung (cmd) – clickbay.de
- UNIX-Zeitstempel-Konverter – ermittelt Datum/Uhrzeit zu einem timestamp und umgekehrt
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ RFC: – Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP). August 2001 (englisch).
- ↑ Sekundengenaue Youtube-Links. c’t, 20. November 2010.
- ↑ Hannah Becker: YouTube-Link mit Zeitmarke erstellen – so geht's. chip, 24. Februar 2014.
- ↑ Isabelle Bauer: Internet YouTube-Link mit Zeitstempel erstellen - so geht's. heise.de, 12. Juli 2019.