Zeiten vergleichen

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
Kebap
User
Beiträge: 776
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

Welches von diesen Daten lässt sich am besten nutzen, um Zeitabstände zu berechnen?
Ich vermute "datetime", aber wie würde ich das in ein Rechenformat umwandeln und handhaben?
Ansonsten würde ich mit "data-date" und "data-time" arbeiten, aber vermutlich das Rad neu erfinden..

Code: Alles auswählen

<time 
  datetime="2019-07-10T20:06:10+02:00" 
  class="datetime" 
  data-timestamp="1562781970" 
  data-date="10. Juli 2019" 
  data-time="20:06" 
  data-offset="7200" 
  title="10. Juli 2019, 20:06">
10. Juli 2019</time>
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
Benutzeravatar
__blackjack__
User
Beiträge: 14054
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Kebap: "datetime" ist am vollständigsten weil es im Gegensatz zu allen anderen Angaben auch die Zeitzone enthält. Und es ist in einem standardisierten Format angegeben. Ansonsten ist "data-timestamp" ein vollständiger Zeitpunkt (in Sekunden seit 1.1.1970 1 Uhr) mit dem sich natürlich sehr leicht Differenzen in Sekunden berechnen lassen. Oder auch `datetime.timedelta` weil man aus dem Zeitstempel sehr einfach ein `datetime.datetime`-Objekt erstellen kann:

Code: Alles auswählen

In [22]: datetime.datetime.fromtimestamp(1562781970)                            
Out[22]: datetime.datetime(2019, 7, 10, 20, 6, 10)
"data-date" hat das ”Problem”, dass der Monatsname als Text da drin steht und am Juli kann man nicht erkennen ob der März an der Stelle März hiesse oder March, oder irgend eine andere natürliche Sprache in der der Juli auch Juli heisst.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Benutzeravatar
Kebap
User
Beiträge: 776
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

Ah danke, ich verstehe, ja da gefällt mir timestamp sogar noch besser! Die Sekunden umwandeln klingt leicht und die Differenzen sind offensichtlich.
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
Benutzeravatar
__blackjack__
User
Beiträge: 14054
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Ergänzend: Nur mit den Attributen "datetime" oder "data-timestamp" funktioniert das über die Zeitpunkte der Umstellung zwischen Sommer-/Winterzeit korrekt. Falls das wichtig ist.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Benutzeravatar
snafu
User
Beiträge: 6871
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Wobei der Juli im Englischen ja July geschrieben wird. Aber klar, es ist immer etwas schwierig mit sprachabhängigen Angaben. Etwas international genormtes ist da schon die bessere Wahl.
Benutzeravatar
__blackjack__
User
Beiträge: 14054
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Naja blöd reinfallen kann man beispielsweise zwischen Österreich und Deutschland, was mir in der Praxis sogar mal passiert ist. Ich ging von Deutschem Deutsch aus und habe nicht damit gerechnet, das es im Januar nicht Januar hiess, sondern Jänner.

Hier mal alle Locales die `babel` kennt, bei denen der Juli Juli heisst, aber nicht alle Monate wie in de_DE geschrieben werden:

Code: Alles auswählen

de_AT Deutsch (Österreich) ['Jänner', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']
de_IT Deutsch (Italien) ['Jänner', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']
id Indonesia ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember']
id_ID Indonesia (Indonesia) ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember']
jv Jawa ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember']
jv_ID Jawa (Indonésia) ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember']
lb Lëtzebuergesch ['Januar', 'Februar', 'Mäerz', 'Abrëll', 'Mee', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']
lb_LU Lëtzebuergesch (Lëtzebuerg) ['Januar', 'Februar', 'Mäerz', 'Abrëll', 'Mee', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']
nds Neddersass’sch ['Januaar', 'Februaar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktover', 'November', 'Dezember']
nds_DE Neddersass’sch (Düütschland) ['Januaar', 'Februaar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktover', 'November', 'Dezember']
nds_NL Neddersass’sch (Nedderlannen) ['Januaar', 'Februaar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktover', 'November', 'Dezember']
su Basa Sunda ['Januari', 'Pébruari', 'Maret', 'April', 'Méi', 'Juni', 'Juli', 'Agustus', 'Séptémber', 'Oktober', 'Nopémber', 'Désémber']
su_Latn Basa Sunda (Latin) ['Januari', 'Pébruari', 'Maret', 'April', 'Méi', 'Juni', 'Juli', 'Agustus', 'Séptémber', 'Oktober', 'Nopémber', 'Désémber']
su_Latn_ID Basa Sunda (Latin) ['Januari', 'Pébruari', 'Maret', 'April', 'Méi', 'Juni', 'Juli', 'Agustus', 'Séptémber', 'Oktober', 'Nopémber', 'Désémber']
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Benutzeravatar
Kebap
User
Beiträge: 776
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

Es wäre de_DE gewesen, aber ich hab keine Lust Monate & co. umzurechnen, daher nehme ich lieber die Sekunden.
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
Antworten