Comment puis-je convertir ma chaîne de jour à un J'ai ce code: p> datetime.timedelta () code> en Python
import datetime
date_select = '2011-12-1'
delta = datetime.timedelta(days=1)
target_date = date_select + delta
print target_date
3 Réponses :
Vous utilisez strptime code> pour le faire.
from datetime import datetime
target_date = datetime.strptime(date_select, '%Y-%m-%d')
AttributeError: type d'objet 'datetime.datetime' n'a pas d'attribut 'timedelta' code> ce que j'ai .. merci mélangeur
Je peux exécuter ce code très bien sur python2 et python3. Avez-vous plus de code?
@gadss, c'est parce que datetime code> dans son exemple (notez la différence de ligne d'importation) est l'objet / type et pas le module
datetime code>. Cela peut être un peu déroutant si vous n'êtes pas habitué à utiliser ce module, mais l'objet / type et le module ont exactement le même nom.
@AdamWagner, avec "de datetime import datetime", a encore cette erreur. Avec ce journal, strptime ne peut pas traduire timedelta à chaîne.
Vous ne convertirait pas date_select code> à
timedelta code>, au contraire, vous avez besoin d'un datetime
code>, qui peut être ajouté à un code timedelta code> pour produire une mise à jour
datetime code>:
import datetime # <- LOOK HERE, same as in your example
date_select = datetime.datetime.strptime('2011-12-1', '%Y-%m-%d')
delta = datetime.timedelta(days=1)
target_date = date_select + delta
print target_date
merci pour la réponse Adam, mais il ne fonctionnait pas .. i eu cette erreur: AttributeError: type d'objet « datetime.datetime » n'a pas d'attribut « timedelta » code> avez-vous des idées?
@gadss, Désolé, c'est parce que j'ai importé timedelta de datetime. Vous pouvez utiliser votre ligne d'importation d'origine, et changer le strptime datetime.datetime.strptime (...) code> ou modifier votre ligne timedelta
timedelta (...) code> (avis, pas
datetime. code>). L'exemple que j'ai donné devrait fonctionner bien.
quand j'imprimer le target_date code> cela sortira
2011-12-01 00:00:00 code> est-il possible que seul le
2011-12-01 code> sera retour à
target_date code>? Merci ...
print target_date.date()
Quel est le problème avec le code affiché? Votre question ne correspond pas à l'exemple de code du tout. La question demande à faire un
timedelta code>, mais le code crée un « DateTime`. Que demandez-vous?