Comment obtenir l'heure actuelle en python et diviser en année, mois, jour, heure, minute?

Réponses:

551

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' datetimeobjet retourné ont tout ce dont vous avez besoin.

tzaman
la source
4
juste un complément: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
Sean.H
31

Voici une doublure qui vient juste en dessous de la ligne de 80 caractères max.

import time
year, month, day, hour, min = map(int, time.strftime("%Y %m %d %H %M").split())
rigsby
la source
29

La datetimeréponse de tzaman est beaucoup plus claire , mais vous pouvez le faire avec le timemodule python original :

import time
strings = time.strftime("%Y,%m,%d,%H,%M,%S")
t = strings.split(',')
numbers = [ int(x) for x in t ]
print numbers

Production:

[2016, 3, 11, 8, 29, 47]
vossman77
la source
14

En déballant l' timetupleobjet 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
skyline75489
la source
6

Pour python 3

import datetime
now = datetime.datetime.now()
print(now.year, now.month, now.day, now.hour, now.minute, now.second)
Tajdar Khan Afridi
la source
6

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
Tomer Ben David
la source
3
import time
year = time.strftime("%Y") # or "%y"
xiaoweiz
la source
2

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]
Bill Bell
la source
2

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

Sreeragh AR
la source
1

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.

TopherGopher
la source
-4

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
Haresh Shyara
la source
7
Cela ne répond pas à la question.
Colin 't Hart