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.


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

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]

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

6

Pour python 3

import datetime
now = datetime.datetime.now()
print(now.year, now.month, now.day, now.hour, now.minute, now.second)

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


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]

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


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.


-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

7
Cela ne répond pas à la question.
Colin 't Hart
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.