Seite 1 von 1
Beliebiges Datumsformat in datetime konvertieren ....
Verfasst: Samstag 27. April 2024, 07:03
von drnicolas
Gibt es eine universelle Methode um Datumsangaben in das ISO-Format zu konvertieren (oder in datetime)
Hintergrund:
in meinen string-Daten können Datumsangaben in den unterschiedlichsten Formaten auftauchen:
z.B. dd.mm.jjjj (am häufigsten)
aber auch dd.mm.jj, dd/mm/jjjj, dd/mm/jj oder neuerdings jjjj-mm-dd.
Krankenkassen schicken sogar Versicherungsbestätigungen mit Geburtsdatum als "x. Monat Jahr"
Ich könnte nun alles durchprobieren, aber gibt's da was intelligenteres?
Re: Beliebiges Datumsformat in datetime konvertieren ....
Verfasst: Samstag 27. April 2024, 07:20
von __deets__
Nein.
Re: Beliebiges Datumsformat in datetime konvertieren ....
Verfasst: Samstag 27. April 2024, 09:55
von snafu
drnicolas hat geschrieben: ↑Samstag 27. April 2024, 07:03
in meinen string-Daten können Datumsangaben in den unterschiedlichsten Formaten auftauchen:
z.B. dd.mm.jjjj (am häufigsten)
aber auch dd.mm.jj, dd/mm/jjjj, dd/mm/jj oder neuerdings jjjj-mm-dd.
Code: Alles auswählen
from dateutil import parser
DATE_STRINGS = ["27.04.2024", "27/04/2024", "27/04/24", "2024-04-27"]
def main():
for date_string in DATE_STRINGS:
print(date_string, "->", parser.parse(date_string))
if __name__ == "__main__":
main()
Falls das Modul bei dir nicht gefunden wird, musst du es via ``pip install python-dateutil`` installieren. Oder bei einem Linux-System ggf. dessen Paket-Verwaltung benutzen.
Re: Beliebiges Datumsformat in datetime konvertieren ....
Verfasst: Samstag 27. April 2024, 10:13
von nezzcarth
dateparser ist ganz gut darin, allerlei Datums- und Zeitangaben (auch so Sachen wie "gestern") zu parsen.
Re: Beliebiges Datumsformat in datetime konvertieren ....
Verfasst: Samstag 27. April 2024, 11:05
von snafu
Und ``dateparser`` versteht auch das Krankenkassen-Beispiel ("x. Monat Jahr").
Re: Beliebiges Datumsformat in datetime konvertieren ....
Verfasst: Samstag 27. April 2024, 13:12
von __blackjack__
@snafu: Ja.
Code: Alles auswählen
In [145]: dateparser.parse("5. Februar 2024")
Out[145]: datetime.datetime(2024, 2, 5, 0, 0)
Re: Beliebiges Datumsformat in datetime konvertieren ....
Verfasst: Samstag 27. April 2024, 13:19
von snafu
__blackjack__ hat geschrieben: ↑Samstag 27. April 2024, 13:12
@snafu: Ja.
Das war keine Frage von mir, sondern eine Feststellung.