[Calc] Zeit berechnen mit Sekundenangaben

Liebe LibreOffice-Benutzer,

ich möchte Daten auswerten, die mit einem Sekundenwert abgespeichert sind. Der Zeit-Wert “1619072403” wurde z. B. am 22.04.2021, um ca. 8:20 Uhr, aufgenommen. Die Werte werden etwa im Abstand von 300 Sekunden, also etwa 5 Minuten, aufgezeichnet, aber eben auch nicht genau immer im gleichen Intervall.

Mein Wunsch wäre jetzt, dass ich den letzten Sekundenwert dem Speicherdatum des Datensatzes gleichsetze und dann durch abziehen der Sekundenwerte je Datensatz das Datum und die Uhrzeit bekomme.
Trotz mehrfacher Versuche habe ich offenbar noch nicht die richtige Methode gefunden. Vielleicht kann mir jemand einen Tipp geben, wie das machbar ist.

In diesem Zusammenhang würde mich auch interessieren, wie der Dezimalwert eines Datums im Calc berechnet wird. Das heutige Datum (22.04.2021) wird ja von Calc als “44308” angezeigt. Wie erfolgt die Berechnung dieses Wertes?

Vielen Dank für jeden Hinweis,
Klaus.

Hallo,

Deine letzte Frage “Wie erfolgt die Berechnung dieses Wertes?” bzgl. des Datums in Calc ist einfach zu beantworten: Der Tag 0 ist der 30.12.1899 (siehe dazu auch die Einstellung unter Extras -> Optionen... -> LibreOffice Calc -> Berechnen -> Abschnitt: Datum; hier kann man auch einen anderen Tag 0 festlegen, was man aber nur in äußerst begründeten Fällen tun sollte). Nun werden einfach die Tage seit diesem Datum gezählt. Daher ist 44308 der 44308. Tag nach dem 30.12.1899.

Etwas komplizierter wird es nun mit der Umrechnung von 1619072403 in ein Datum mit Uhrzeit. Diese Zahl ist die Anzahl der seit dem 1.1.1970 00:00 Uhr vergangenen Sekunden (in UTC Zeitrechnung). Das sind dann also:

1619072403/86400 = 18739,26 Tage seit dem 1.1.1970 00:00 Uhr. Diese Anzahl der Tage sind dann auf den Datumswert des 1.1.1970 00:00 zu addieren: Das ergibt:

=DATEVALUE("1.1.1970") + 18739,26 = 44308,26. Formatiert man diesen Wert nun mit dem Format Code DD.MM.JJJJ HH:MM erhält man: 22.04.2021 06:20. Das alles ist natürlich dann auch die UTC Zeit. Will man nun noch MEZ oder MESZ berücksichtigen, muss man noch

  • MEZ: 44308,26 + 3600/86400 (Mitteleuropäische Normalzeit = UTC+1 Stunde)
  • MESZ: 44308,26 + 7200/86400 (Mitteleuropäische Sommerzeit = UTC+2 Stunden)

dazu addieren.

Anmerkung

Ich verwende grundsätzlich nur die englischsprachigen Funktionsnamen (was man in LibreOffice auch einstellen kann). Die deutschsprachige Entsprechung von DATEVALUE() lautet: DATUMWERT()

Ich hoffe, das hilft ein wenig

Hallo Opaque,

vielen DANK für deine Erklärung!
Das hilft nicht nur ein wenig, sondern sehr viel.

Nochmal ganz herzlichen Dank für deine Nachhilfe.
Grüße, Klaus