J'utilise strptime pour convertir une chaîne de date en datetime
. Selon la page liée, un formatage comme celui-ci devrait fonctionner:
>>> # Using datetime.strptime()
>>> dt = datetime.strptime("21/11/06 16:30", "%d/%m/%y %H:%M")
Mon code est:
import datetime
dtDate = datetime.strptime(sDate,"%m/%d/%Y")
où sDate = "07/27/2012"
(par exemple). (Je comprends, à partir de la même page, que %Y
est "Année avec le siècle sous forme décimale."
J'ai essayé de mettre la valeur réelle de sDate dans le code:
dtDate = datetime.strptime("07/27/2012","%m/%d/%Y")
mais ça ne marche pas. L'erreur que je reçois est: AttributeError: l'objet 'module' n'a pas d'attribut 'strptime'
Qu'est-ce que je fais mal?
Vous devriez utiliser datetime.datetime.strptime
. Notez que les très anciennes versions de Python (2.4 et antérieures) n'ont pas datetime.datetime.strptime
; utilisez time.strptime
dans ce cas.
Vous importez le module datetime, qui n'a pas de fonction strptime
.
Ce module a a un objet datetime
avec cette méthode si:
import datetime
dtDate = datetime.datetime.strptime(sDate, "%m/%d/%Y")
Sinon, vous pouvez importer l'objet datetime
à partir du module:
from datetime import datetime
dtDate = datetime.strptime(sDate, "%m/%d/%Y")
Notez que la méthode strptime
a été ajoutée dans python 2.5; Si vous utilisez une version plus ancienne, utilisez plutôt le code suivant:
import datetime, time
dtDate = datetime.datetime(*time.strptime(sDate, "%m/%d/%Y")[:6])
Parce que datetime
est le module. La classe est datetime.datetime
.
import datetime
dtDate = datetime.datetime.strptime(sDate,"%m/%d/%Y")
Si vous avez créé un fichier dans le dossier "datetime.py" dans le dossier de votre projet
Vous pouvez aussi faire ce qui suit pour importer datetime
from datetime import datetime as dt
dt.strptime(date, '%Y-%m-%d')
Vous devez utiliser la méthode statique strftime
de la classe datetime
du module datetime
. Essayer:
import datetime
dtDate = datetime.datetime.strptime("07/27/2012", "%m/%d/%Y")