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.


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

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]

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

6

Für Python 3

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

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


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]

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


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.


-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

7
Dies beantwortet die Frage nicht.
Colin 't Hart
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.