2 stellige Jahre mit strptime () können Geburtstage nicht sehr gut analysieren
Betrachten Sie die folgenden Geburtstage (alsdob
):
Wenn mit Pythons @ gepardatetime.strptime(dob, '%d-%b-%y')
ergibt:
datetime.datetime(2068, 6, 1, 0, 0)
datetime.datetime(1969, 6, 1, 0, 0)
Natürlich sollen sie im selben Jahrzehnt geboren werden, aber jetzt ist es noch nicht einmal im selben Jahrhundert!
Laut dem docs das ist ein völlig gültiges Verhalten:
Wenn zweistellige Jahre akzeptiert werden, werden sie gemäß dem POSIX- oder X / Open-Standard konvertiert: Die Werte 69-99 werden auf 1969-1999 und die Werte 0–68 auf 2000–2068 abgebildet.
Ich verstehe, warum die Funktion so eingerichtet ist, aber gibt es eine Möglichkeit, dies zu umgehen? Vielleicht mit der Definition eigener Bereiche für zweistellige Jahre?