Je voudrais obtenir l'heure actuelle en Python et les affecter dans des variables telles que year
, month
, day
, hour
, minute
. Comment cela peut-il être fait dans Python 2.7?
Je voudrais obtenir l'heure actuelle en Python et les affecter dans des variables telles que year
, month
, day
, hour
, minute
. Comment cela peut-il être fait dans Python 2.7?
Réponses:
le datetime
module est votre ami:
import datetime
now = datetime.datetime.now()
print now.year, now.month, now.day, now.hour, now.minute, now.second
# 2015 5 6 8 53 40
Vous n'avez pas besoin de variables distinctes, les attributs de l' datetime
objet retourné ont tout ce dont vous avez besoin.
import time \n now=time.localtime() \n print now.tm_year, now.tm_mon, now.tm_mday, now.tm_hour, now.tm_hour, now.tm_min, now.tm_sec, now.tm_wday, now.tm_yday, now.tm_isdst
En déballant l' timetuple
objet datetime, vous devriez obtenir ce que vous voulez:
from datetime import datetime
n = datetime.now()
t = n.timetuple()
y, m, d, h, min, sec, wd, yd, i = t
Pour python 3
import datetime
now = datetime.datetime.now()
print(now.year, now.month, now.day, now.hour, now.minute, now.second)
Voyons comment obtenir et imprimer le jour, le mois, l'année en python à partir de l'heure actuelle:
import datetime
now = datetime.datetime.now()
year = '{:02d}'.format(now.year)
month = '{:02d}'.format(now.month)
day = '{:02d}'.format(now.day)
hour = '{:02d}'.format(now.hour)
minute = '{:02d}'.format(now.minute)
day_month_year = '{}-{}-{}'.format(year, month, day)
print('day_month_year: ' + day_month_year)
résultat:
day_month_year: 2019-03-26
Trois bibliothèques pour accéder et manipuler les dates et les heures, à savoir datetime, flèche et pendule, rendent tous ces éléments disponibles dans des couples nommés dont les éléments sont accessibles soit par nom, soit par index. De plus, les articles sont accessibles exactement de la même manière. (Je suppose que si j'étais plus intelligent, je ne serais pas surpris.)
>>> YEARS, MONTHS, DAYS, HOURS, MINUTES = range(5)
>>> import datetime
>>> import arrow
>>> import pendulum
>>> [datetime.datetime.now().timetuple()[i] for i in [YEARS, MONTHS, DAYS, HOURS, MINUTES]]
[2017, 6, 16, 19, 15]
>>> [arrow.now().timetuple()[i] for i in [YEARS, MONTHS, DAYS, HOURS, MINUTES]]
[2017, 6, 16, 19, 15]
>>> [pendulum.now().timetuple()[i] for i in [YEARS, MONTHS, DAYS, HOURS, MINUTES]]
[2017, 6, 16, 19, 16]
Vous pouvez utiliser gmtime
from time import gmtime
detailed_time = gmtime()
#returns a struct_time object for current time
year = detailed_time.tm_year
month = detailed_time.tm_mon
day = detailed_time.tm_mday
hour = detailed_time.tm_hour
minute = detailed_time.tm_min
Remarque: Un horodatage peut être transmis à gmtime, la valeur par défaut est l'heure actuelle telle que renvoyée par time ()
eg.
gmtime(1521174681)
Voir struct_time
C'est une question plus ancienne, mais j'ai trouvé une solution que je pensais que d'autres pourraient aimer.
def get_current_datetime_as_dict():
n = datetime.now()
t = n.timetuple()
field_names = ["year",
"month",
"day",
"hour",
"min",
"sec",
"weekday",
"md",
"yd"]
return dict(zip(field_names, t))
timesuple () peut être compressé avec un autre tableau, ce qui crée des tuples étiquetés. Cast cela dans un dictionnaire et le produit résultant peut être consommé avecget_current_datetime_as_dict()['year']
.
Cela a un peu plus de frais généraux que certaines des autres solutions ici, mais j'ai trouvé que c'était si agréable de pouvoir accéder aux valeurs nommées pour le bien de clartiy dans le code.
vous pouvez utiliser le module datetime pour obtenir la date et l'heure actuelles dans Python 2.7
import datetime
print datetime.datetime.now()
Production :
2015-05-06 14:44:14.369392