Comment puis-je calculer le lendemain d'une chaîne comme 20110531 dans le même format yyyymmdd? Dans ce cas particulier, j'aime avoir 20110601 comme résultat. Calculer "demain" ou le lendemain de manière statique n'est pas si difficile, comme celui-ci: mais comment puis-je utiliser une chaîne comme dt = "20110531" code> à Obtenez le même résultat que ci-dessus? p> p>
3 Réponses :
>>> from datetime import datetime >>> print datetime.strptime('20110531', '%Y%m%d') 2011-05-31 00:00:00 And then do math on that date object as you show in your question.The datetime library docs.
Merci beaucoup, c'est juste la chose que je cherchais. Je me sens si stupide mais maintenant. À votre santé!!
Je suis désolé de dire que cela ne fonctionne pas dans V2.4, où je dois en réalité exécuter ce script. Il est écrit: attributError: type objet 'DateTime.DateTime' n'a aucun attribut 'STRPTIME' CODE>. Donc je suis de retour à la base à nouveau.
Oui, la réponse d'AJ fonctionne, uniquement si je mets explicitement trois attributs. Comment utiliser t.date () code> à la place? À votre santé!!
Vous êtes la plupart de la route! Avec la fonction Pour résoudre votre problème, vous pouvez simplement remplacer ed strud>: et bien sûr, vous devrez également ajouter StrfTime Code> qui convertit une date à une chaîne formatée, il existe également une fonction
STRPTIME code> qui convertit l'inverse. p>
date.today () code> avec
STRPTIME (vous-êtes, "% y% m% d ') p>. P>.
STRATTIME code> à la fin de votre
à partir de DateTime Import code> ligne. P>
Je vois que cela fonctionne simplement bien sans ajouter structime code>. J'ai eu un coup d'oeil dans le Strptime () mais je n'ai pas compris l'utilisation correctement. Merci pour le commentaire. À votre santé!!
Je vois votre point maintenant - c'est un problème v2.6 contre v2.4. En V2.6, aucun besoin d'importer plus fort. Dans 2.4 IT RAPPORT ERREUR: IMPORTERROR: Impossible d'importer le nom STRPTIME CODE> mais
DateTime.stryptime () code> ne fonctionne pas non plus.
Voici un exemple de comment le faire:
import time from datetime import date, timedelta t=time.strptime('20110531','%Y%m%d') newdate=date(t.tm_year,t.tm_mon,t.tm_mday)+timedelta(1) print newdate.strftime('%Y%m%d')
Je pense que vous pouvez simplement dire t.date () code> au lieu de tirer explicitement les trois attributs. Mais, +1 pour remarquer que le reste d'entre nous lui donnait
DateTime code> d'objets quand il aurait peut-être voulu une date
code>!
Donc, quel est l'avantage d'utiliser la date code> sur DateTime code>? Je vais loin que je puisse voir, ils font la même chose en prenant le même temps. À votre santé!!
Vous avez utilisé date code> dans votre question initiale, alors je l'ai utilisé dans ma réponse. La question de savoir laquelle utiliser ne dépend que de précision: faites-vous besoin b> pour connaître le temps, ou juste la date?
Obtenez-le maintenant, date code> est tout simplement bien dans ce cas. Merci pour le script, c'est la chose qui fonctionne avec v2.4 jusqu'à présent. À votre santé!!
@Brandonrhodes no t.date () code> au moins en python 2.7.
Vous voudrez peut-être vérifier si votre Python a été compilé avec tous les modules officiels disponibles? La documentation Python affirme que la méthode code> de type code> () code> est disponible depuis le module
DateTime code> a été ajouté à Python 2.3: