Ich möchte die aktuelle Zeit in Python erhalten und ordnen sie in Variablen wie year
, month
, day
, hour
, minute
. Wie geht das in Python 2.7?
Ich möchte die aktuelle Zeit in Python erhalten und ordnen sie in Variablen wie year
, month
, day
, hour
, minute
. Wie geht das in Python 2.7?
Antworten:
Das datetime
Modul ist dein Freund:
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
Sie benötigen keine separaten Variablen, die Attribute des zurückgegebenen datetime
Objekts enthalten alles, was Sie benötigen.
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
Durch Entpacken timetuple
des datetime-Objekts sollten Sie das bekommen, was Sie wollen:
from datetime import datetime
n = datetime.now()
t = n.timetuple()
y, m, d, h, min, sec, wd, yd, i = t
Für Python 3
import datetime
now = datetime.datetime.now()
print(now.year, now.month, now.day, now.hour, now.minute, now.second)
Mal sehen, wie man Tag, Monat, Jahr in Python aus der aktuellen Zeit erhält und druckt:
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)
Ergebnis:
day_month_year: 2019-03-26
Drei Bibliotheken für den Zugriff auf und die Bearbeitung von Datums- und Uhrzeitangaben, nämlich Datum / Uhrzeit, Pfeil und Pendel, stellen diese Elemente in benannten Tupeln zur Verfügung, auf deren Elemente entweder über Name oder Index zugegriffen werden kann. Darüber hinaus sind die Artikel genauso zugänglich. (Ich denke, wenn ich intelligenter wäre, wäre ich nicht überrascht.)
>>> 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]
Sie können gmtime verwenden
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
Hinweis: Ein Zeitstempel kann an gmtime übergeben werden. Die Standardeinstellung ist die aktuelle Zeit, die von time () zurückgegeben wird.
eg.
gmtime(1521174681)
Siehe struct_time
Dies ist eine ältere Frage, aber ich habe eine Lösung gefunden, von der ich dachte, dass sie anderen gefallen könnte.
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))
timetuple () kann mit einem anderen Array komprimiert werden, wodurch beschriftete Tupel erstellt werden. Wirf das in ein Wörterbuch und das resultierende Produkt kann mit konsumiert werden get_current_datetime_as_dict()['year']
.
Dies hat etwas mehr Overhead als einige der anderen Lösungen hier, aber ich fand es so schön, auf benannte Werte zugreifen zu können, um Clartiy willen im Code.
Sie können das Datum / Uhrzeit-Modul verwenden, um das aktuelle Datum und die aktuelle Uhrzeit in Python 2.7 abzurufen
import datetime
print datetime.datetime.now()
Ausgabe :
2015-05-06 14:44:14.369392