Wie kann man die aktuelle Zeit in Python abrufen und in Jahr, Monat, Tag, Stunde, Minute aufteilen?

Antworten:

551

Das datetimeModul 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 datetimeObjekts enthalten alles, was Sie benötigen.

Zaman
quelle
4
nur eine Lieferung: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

Hier ist ein Einzeiler, der knapp unter der max. 80-Zeichen-Linie liegt.

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

Die datetimeAntwort von tzaman ist viel sauberer, aber Sie können es mit dem ursprünglichen Python- timeModul tun :

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

Ausgabe:

[2016, 3, 11, 8, 29, 47]
vossman77
quelle
14

Durch Entpacken timetupledes 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
skyline75489
quelle
6

Für Python 3

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

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

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

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

Sreeragh AR
quelle
1

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.

TopherGopher
quelle
-4

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
Haresh Shyara
quelle
7
Dies beantwortet die Frage nicht.
Colin 't Hart