J'aimerais obtenir la coupure d'une variable par année, mois et jour. Voici ce que j'ai obtenu:
import datetime from datetime import date, timedelta yesterday = date.today() - timedelta(1) print (yesterday) year = datetime.date.yesterday.year month = datetime.date.yesterday.month day=datetime.date.yesterday.day print (year) print (month) print (day)
J'obtiens une erreur indiquant que datetime.date n'a pas d'attribut. Je suis un noob total en python et je suis bloqué, toute aide est appréciée
4 Réponses :
vous étiez proche
import datetime from datetime import date, timedelta yesterday = date.today() - timedelta(1) print (yesterday) year = yesterday.year month = yesterday.month day=yesterday.day print (year) print (month) print (day)
résultat est
10/03/2019
2019
3 p >
10
Vous pouvez également simplifier vos instructions d'importation comme ceci:
2019-03-10 21:19:36.695577 2019 3 10
Vous obtiendrez le résultat:
from datetime import datetime, timedelta yesterday = datetime.today() - timedelta(1) print(yesterday) year = yesterday.year month = yesterday.month day = yesterday.day print(year) print(month) print(day)
cela fonctionne, Baris vient de vous battre, merci pour le conseil simplifiant
C'est comme ça;) ... Je soulignerai cependant que hier
contiendra également l'heure comme indiqué dans la sortie que j'ai ajoutée. De là, vous pouvez également accéder à d'autres attributs tels que hier.hour
, hier.microseconde
, hier.minute
, hier.second
ou même diviser des fractions de temps individuelles avec hier.time ()
et obtenir le chiffre qui correspond au jour de la semaine avec hier.weekday ()
.
vous pouvez également supprimer les informations de temps en utilisant - hier.strftime ('% d-% m-% Y')
Pour la journée en cours
import datetime current_datetime=datetime.datetime.now() print("current_year:{}".format(current_datetime.year)) print("current_month:{}".format(current_datetime.month)) print("current_day:{}".format(current_datetime.day))
Vous pouvez utiliser la méthode strftime
Un exemple simple:
>>> from datetime import datetime >>> now = datetime.utcnow() >>> year_month_day_format = '%Y-%m-%d' >>> now.strftime(year_month_day_format) '2020-11-06' >>> hour_minute_format = '%H:%M' >>> now.strftime(hour_minute_format) '22:54'
En sautant, cela aidera quelqu'un
p >
juste une note, je sais que je n'ai pas besoin de la ligne 'print (hier)', c'était juste un test pour moi