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?
Beliebiges Datumsformat in datetime konvertieren ....
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()
dateparser ist ganz gut darin, allerlei Datums- und Zeitangaben (auch so Sachen wie "gestern") zu parsen.
- __blackjack__
- User
- Beiträge: 14326
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@snafu: Ja.
Code: Alles auswählen
In [145]: dateparser.parse("5. Februar 2024")
Out[145]: datetime.datetime(2024, 2, 5, 0, 0)„Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.“ — Brian W. Kernighan
Das war keine Frage von mir, sondern eine Feststellung.
