Python'da şimdiki zaman nasıl elde edilir ve yıl, ay, gün, saat, dakikaya ayrılır?


Yanıtlar:


551

datetimeModül arkadaşıdır:

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

Ayrı değişkenlere ihtiyacınız yoktur, döndürülen datetimenesnenin öznitelikleri ihtiyacınız olan her şeye sahiptir.


4
sadece bir suplyment: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

İşte maksimum 80 karakterlik çizginin hemen altında gelen bir astar.

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

29

datetimeTarafından cevap tzaman daha temiz, ancak orijinal piton ile yapabilirsiniz timemodülü:

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

Çıktı:

[2016, 3, 11, 8, 29, 47]

14

timetupleDatetime nesnesinin paketini açarak istediğinizi elde etmelisiniz:

from datetime import datetime

n = datetime.now()
t = n.timetuple()
y, m, d, h, min, sec, wd, yd, i = t

6

Python 3 için

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

6

Python'da şimdiki zamandan gün, ay, yıl nasıl alınacağını ve yazdırılacağını görelim:

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)

sonuç:

day_month_year: 2019-03-26


2

Tarih ve saatlere erişmek ve işlemek için üç tarih, yani datetime, ok ve sarkaç, bu öğelerin tümü, öğelerine ad veya dizin yoluyla erişilebilen adlandırılmış gruplarda kullanılabilir. Ayrıca, öğelere tam olarak aynı şekilde erişilebilir. (Sanırım daha zeki olsaydım şaşırmazdım.)

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

Gmtime kullanabilirsiniz

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

Not: Bir zaman damgası gmtime'a geçirilebilir, varsayılan zaman tarafından döndürülen geçerli zamandır ()

eg.
gmtime(1521174681)

Bkz. Struct_time


1

Bu daha eski bir soru, ama başkalarının hoşuna gideceğini düşündüğüm bir çözüm buldum.

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 (), etiketli tuples oluşturan başka bir dizi ile sıkıştırılabilir. Bunu bir sözlüğe yayınlayın ve elde edilen ürünget_current_datetime_as_dict()['year'] .

Bu, buradaki diğer çözümlerden biraz daha fazla yüke sahip, ancak koddaki açıklığı adına adlandırılmış değerlere erişebilmenin çok güzel olduğunu gördüm.


-4

Python 2.7'de geçerli Tarih ve Saati almak için datetime modülünü kullanabilirsiniz

import datetime
print datetime.datetime.now()

Çıktı :

2015-05-06 14:44:14.369392

7
Bu soruya cevap vermiyor.
Colin 't Hart
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.