Seite 1 von 1

Genaue Sekunden ermitteln

Verfasst: Dienstag 6. November 2018, 17:38
von Strawk
Hallo!

Gegeben ist mir eine Reihe von Zeitdaten im Format
2017-03-08T15:55:22.301Z
(Beispiel)
oder auch
2017-03-08T15:55:26.135Z
(Beispiel)

Hieraus möchte ich gerne die korrekten Sekunden als float-Wert, unter Einbeziehung der Millisekunden!
Wie mache ich das?
Grüße
Strawk

Re: Genaue Sekunden ermitteln

Verfasst: Dienstag 6. November 2018, 18:07
von __blackjack__
@Strawk: Wo ist denn das konkrete Problem dabei? Und was ist hier mit Sekunden gemeint? Ein Zeitstempel in Sekunden, zum Beispiel seit UNIX-Epoch, oder tatsächlich nur eine Verbindung der Attribute `second` und `microsecond` zu einem Wert? Welche Python-Version?

Re: Genaue Sekunden ermitteln

Verfasst: Dienstag 6. November 2018, 18:11
von Strawk
Hallo!
Python 3.6
Ja, ich habe das Problem nicht ausreichend definiert. Aus den beiden Zeitangaben brauche ich die Differenz in Sekunden, wobei die millisekunden (nicht micro...!) mit in den float-Wert einfließen sollen.

Re: Genaue Sekunden ermitteln

Verfasst: Dienstag 6. November 2018, 19:38
von __blackjack__
@Strawk: Na dann kannst Du doch einfach runden wenn dir Mikrosekunden zu hoch aufgelöst sind‽

Re: Genaue Sekunden ermitteln

Verfasst: Dienstag 6. November 2018, 20:56
von Sirius3
Hast Du Dir schon das datetime-Modul angeschaut?

Re: Genaue Sekunden ermitteln

Verfasst: Freitag 9. November 2018, 14:54
von __blackjack__
Vielleicht nochmal konkret: Was ist an diesem Ergebnis nicht wie gewünscht?

Code: Alles auswählen

#!/usr/bin/env python3
from datetime import datetime as DateTime

ISO_FORMAT = '%Y-%m-%dT%H:%M:%S.%fZ'


def main():
    iso_date_a = '2017-03-08T15:55:22.301Z'
    iso_date_b = '2017-03-08T15:55:26.135Z'
    timestamp_a = DateTime.strptime(iso_date_a, ISO_FORMAT)
    timestamp_b = DateTime.strptime(iso_date_b, ISO_FORMAT)
    delta = timestamp_b - timestamp_a
    print(delta.total_seconds())


if __name__ == '__main__':
    main()