Unix-Timestamps 31.03.2023, 08:00 Uhr

Excel: Was sind das für zehn- oder dreizehnstellige Zeitangaben?

Sie bekommen eine Liste mit angeblichen Kalenderdaten. Aber Sie können mit den sonderbaren zehnstelligen Zahlen nichts anfangen; manchmal sind es sogar dreizehn Stellen. Kunststück: Es handelt sich um Unix-Timestamps! So rechnen Sie diese in Excel und LibreOffice um.
In der rot markierten Spalte sollten Kalender- oder Zeitangaben stehen. Aber welche?
(Quelle: PCtipp.ch)
Ihr Datenbankverantwortlicher schickt Ihnen kurz vor seinem Urlaub noch die Liste, die Sie von ihm erbeten haben. Als Sie die Excel- oder CSV-Datei in Excel oder in LibreOffice Calc öffnen, kommen Sie ins Grübeln. Anstelle der Kalenderdaten stehen in der Datumsspalte nur zehnstellige Zahlen. Sosehr Sie diese drehen und wenden, wird aus diesen kein plausibles Datum. Was nun? Worum handelt es sich bei diesen zehnstelligen Datums- oder Zeitangaben?
Lösung: Da haben Sie die Rechnung ohne Unix gemacht. Unix (wie auch Linux) wird auf Web- und anderen Servern oft als Betriebssystem eingesetzt. Und jenes verwendet eine etwas andere Zeitrechnung. Bei solchen zehnstelligen Datums- bzw. Zeitangaben handelt es sich fast sicher um Unix-Timestamps. Sobald man dies weiss, findet man auch die Umrechnungsformeln.
Die Unix-Zeitrechnung zählt die vergangenen Sekunden seit dem 01.01.1970 00:00. Excel hingegen macht es etwas anders: Es verwendet als Grundlage den 01.01.1900. Ausserdem zählt es die Anzahl Tage/Stunden (vor dem Komma) und die Minuten und Sekunden als Dezimalzahl (nach dem Komma).
Sind es zehnstellige Timestamps? Es gibt verschiedene Möglichkeiten, diese umzurechnen – und alle führen zum gleichen Resultat. Angenommen, der Unix-Timestamp steht in C2, dann können Sie eine von diesen drei Formeln nehmen:
=C2/86400+25569   
oder
=(((C2/60)/60)/24)+DATUM(1970;1;1)
oder
=DATUM(1970;1;1)+(LINKS(C2;10)/86400)
Welche der drei Formeln Sie nehmen, ist egal; es kommt bei allen dreien dasselbe heraus
Quelle: PCtipp.ch
Zunächst erscheint natürlich die Excel-Datumszahl; das ist meistens eine fünfstellige Zahl mit oder ohne Kommastellen. Markieren Sie die Resultatspalte, klicken Sie mit rechts drauf und gehen Sie zu Zellen formatieren. Greifen Sie zu Benutzerdefiniert und tragen Sie dort fürs Format den Code TT.MM.JJJJ hh:mm:ss ein. Schon stehen die Daten und Zeiten in lesbarer Form da.
Formatieren Sie den umgerechneten Unix-Timestamp benutzerdefiniert mit TT.MM.JJJJ hh:mm:ss
Quelle: PCtipp.ch
Kopieren Sie die Formel allenfalls noch in die restlichen Zellen.

Hilfe, ich habe aber 13-stellige Timestamps!

Im PCtipp-Forum hat sich ein User gemeldet, der seine gespeicherten Zugangsdaten aus Mozilla Firefox in eine .csv-Datei exportiert hat. Dort kommen Spalten wie timeCreated, timeLastUsed und timePasswordChanged vor, die darüber Bescheid geben, wann der Passworteintrag erstellt, zuletzt genutzt und zuletzt geändert wurde.
Lösung: Die darin erwähnten Zeitangaben sehen ebenfalls kurios aus und haben gar dreizehn Stellen. Der Grund: Auch dies sind Timestamps, allerdings zählen diese nicht die Sekunden (wie die zehnstelligen), sondern die Millisekunden. Darum funktionieren die oben erwähnten ersten zwei Formeln nicht. Aber dritte Formel funktioniert auch mit diesen durchaus. Angenommen, ein Timestamp steht in C2:
=DATUM(1970;1;1)+(LINKS(C2;10)/86400)
Sie betrachtet einfach die ersten zehn Stellen von Links und lässt die hintersten (welches die Millisekunden sind) einfach weg.
(Ursprung 6.4.2020, Update mit Infos zu den 13-stelligen Timestamps am 31.3.2023)



Kommentare
Es sind keine Kommentare vorhanden.