web-dev-qa-db-fra.com

convertir une chaîne en datetime python

Comment convertir une chaîne en un objet date en python?

La chaîne serait: "30-01-12" (correspondant au format: "% d-% m-% y")

Je ne veux pas d'objet datetime.datetime, mais plutôt un datetime.date

15
Alfredo Solís

Vous utilisez toujours datetime.datetime Mais vous ne demandez alors que la portion .date():

datetime.datetime.strptime('30-01-12', '%d-%m-%y').date()

Manifestation:

>>> import datetime
>>> datetime.datetime.strptime('30-01-12', '%d-%m-%y').date()
datetime.date(2012, 1, 30)
44
Martijn Pieters

Cela devrait fonctionner:

import datetime
s = "30-01-12"
slist = s.split("-")
sdate = datetime.date(int(slist[2]),int(slist[0]),int(slist[1]))
4
jbuchman
from datetime import datetime,date
date_str = '30-01-12'
formatter_string = "%d-%m-%y" 
datetime_object = datetime.strptime(date_str, formatter_string)
date_object = datetime_object.date()
4
Davit