Genaue Sekunden ermitteln

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
Strawk
User
Beiträge: 230
Registriert: Mittwoch 15. Februar 2017, 11:42
Wohnort: Aachen
Kontaktdaten:

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
Ich programmiere erfolglos, also bin ich nicht.
Benutzeravatar
__blackjack__
User
Beiträge: 13100
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@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?
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Benutzeravatar
Strawk
User
Beiträge: 230
Registriert: Mittwoch 15. Februar 2017, 11:42
Wohnort: Aachen
Kontaktdaten:

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.
Ich programmiere erfolglos, also bin ich nicht.
Benutzeravatar
__blackjack__
User
Beiträge: 13100
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Strawk: Na dann kannst Du doch einfach runden wenn dir Mikrosekunden zu hoch aufgelöst sind‽
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

Hast Du Dir schon das datetime-Modul angeschaut?
Benutzeravatar
__blackjack__
User
Beiträge: 13100
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

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()
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten