J'ai ce code:
>>> import datetime >>> l = '2011-12-02' >>> t = datetime.datetime.strptime(l, '%Y-%m-%d') >>> print t 2011-12-02 00:00:00
4 Réponses :
TIME.StrfTime CODE> est en train de formater en premier, le temps seconde, et le temps n'est pas un DateTime code> (que notre op a), mais un structure_time code >. Il devrait utiliser le StrfTime code> dans le module code> DateTime code>.
J'ai édité ma réponse A Loong I> il y a longtemps. Le code fonctionne, comme je l'ai testé avant de répondre. Si vous êtes confus sur le lien, désolé. Je l'ai utilisé comme exemple de la syntaxe, pas de la fonction réelle ...
Le code que vous avez initialement écrit ne fonctionnait définitivement pas et vous pouvez blâmer le modèle d'éventuel évident apparent pour la raison pour laquelle ma vision de votre réponse n'a jamais été mise à jour pendant que je pouvais voir vos nouveaux commentaires.
Tant pis. J'ai suivi trois révisions avant de supprimer ma réponse, alors mettez-vous la latence!
Je pense que vous devriez utiliser comme ceci ou votre code: p>
>>> t.strftime('%Y-%m-%d')
'2011-12-02'
Y a-t-il une façon de ne pas devenir une chaîne?
Vous devez spécifier le format de sortie pour la date, par exemple. En utilisant toute la lettre après un "%" représente un format:% d est le numéro de la journée,% m est le numéro de mois,% y est l'année dernière deux derniers chiffres,% y est l'année toute l'année p> p>
BTW, vous recherchez vraiment comment obtenir une chaîne formatée d'une instance de
DateTime code>. La fonctionSTRIPTIME CODE> prend simplement une chaîne et vous donne une nouvelle instance deDateTime code>. Comprendre cette différence vous aidera à travailler à travers des choses comme celle-ci à l'avenir.