# Zeitstempel

Ein Zeitstempel (englisch timestamp) wird benutzt, um einem Ereignis einen eindeutigen Zeitpunkt zuzuordnen. Es gibt Stempel in analoger Form (auf Papier) und digital.
Nicht jede protokollierte Zeitangabe ist ein Zeitstempel, insbesondere dann nicht, wenn die Zeitangabe leicht verändert werden kann oder unzuverlässig erfolgt.
Ein Beispiel für analoge Stempel ist der Posteingangsstempel auf Briefen, obgleich sich deren Genauigkeit normalerweise nur auf den Tag bezieht (selten – vor allem im Bankbereich – auch noch im Stundenbereich). Digitale Stempel gibt es zum Beispiel in Videos; sie können genauer sein und auch Sekunden anzeigen.
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) 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

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

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

Mit PHP kann die Uhrzeit wie folgt angezeigt werden:
Mit Visual Basic können Uhrzeiten wie folgt angezeigt werden:
Mit C# kann eine Uhrzeit wie folgt angezeigt werden:
Mit Ada kann eine Uhrzeit wie folgt angezeigt werden:

## Zeitstempel auf Youtube

Bei YouTube-Videos ist via der sekundengenau auswählbaren URL die präzise Fokussierung auf einzelne Szenen möglich.