J'essaie d'écrire une fonction en Python 2.7 qui convertit une série de nombres en une date valide. Jusqu'à présent, tout fonctionne séparément de la conversion.
Voici le code pertinent:
import datetime
def convert_date(x,y,z):
orig_date = datetime.datetime(x,y,z)
d = datetime.datetime.strptime(str(orig_date), '%Y-%m-%d %H:%M:%S')
result = d.strftime('%m-%d-%Y')
return orig_date
a = convert_date(13,11,12)
print a
Chaque fois que je lance ceci, je reçois:
> Traceback (most recent call last):
> File "test.py", line 9, in <module>
> a = convert_date(13,11,12)
> File "test.py", line 5, in convert_date
> d = datetime.datetime.strptime(orig_date, '%Y-%m-%d %H:%M:%S')
> TypeError: must be string, not datetime.datetime
Je sais que c'est parce que strptime
me donne datetime object
, mais comment faire en sorte que cela fonctionne?
Vous obtenez une exception. Dans le bloc except
, vous faites simplement un pass
. Au lieu de cela, si vous faites un print
ou enregistrez l'exception, vous saurez ce qui ne va pas.
Étant donné que vous obtenez une exception, l'objet result
n'est pas créé et vous obtenez donc l'erreur.