Değişkenler gibi içine Python içinde geçerli saati almak ve bunları atamak istiyoruz year
, month
, day
, hour
, minute
. Bu Python 2.7'de nasıl yapılabilir?
Değişkenler gibi içine Python içinde geçerli saati almak ve bunları atamak istiyoruz year
, month
, day
, hour
, minute
. Bu Python 2.7'de nasıl yapılabilir?
Yanıtlar:
datetime
Modü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 datetime
nesnenin öznitelikleri ihtiyacınız olan her şeye sahiptir.
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
timetuple
Datetime 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
Python 3 için
import datetime
now = datetime.datetime.now()
print(now.year, now.month, now.day, now.hour, now.minute, now.second)
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
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]
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
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.
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