1
votes

Obtenez l'année, le mois et le jour à partir de la variable python

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


1 commentaires

juste une note, je sais que je n'ai pas besoin de la ligne 'print (hier)', c'était juste un test pour moi


4 Réponses :


2
votes

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


0 commentaires

2
votes

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)


3 commentaires

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')



0
votes

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))


0 commentaires

1
votes

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 >


0 commentaires