0
Während ich versuchte, String in Datetime zu konvertieren, begegnete ich folgendes:Wie konvertiert man String in Datetime-Objekt in Python für Jahre 2070 und höher?
S='30-01-50'
datetime.datetime.str
>>datetime.date(2050, 1, 30)
jedoch
S='30-01-70'
datetime.datetime.strptime(S,"%d-%m-%y").date()
>>datetime.date(1970, 1, 30)
Warum nicht 2070?. Wie berechnet man solche Datetime-Werte?
Ist hier nicht das Problem, dass Ihre Zeichenfolge nicht eindeutig ist? Python unterstützt Jahre bis 9999, aber 1970 ist * was Sie bekommen sollten * nur für 70. Woher kommt der Input und warum kann er nicht das ganze Jahr beinhalten? – jonrsharpe
Ich habe versucht S = '30 -01-1970 ', ich warf den Fehler: Traceback (letzten Aufruf zuletzt): Datei "", Zeile 1, in Datei "/usr/lib/python2.7/_strptime .py ", Zeile 328, in _strptime data_string [found.end():]) ValueError: nicht konvertierte Daten bleiben: 70 –
Sie haben das Muster nicht von% y nach% Y geändert. Warum? – jonrsharpe