與時(shí)間相關(guān)的包大概有datetime和time這兩個(gè)。
>>> now = datetime.datetime.now()
>>> now
datetime.datetime(2018, 5, 16, 16, 37, 15, 77192)
>>> type(now)
<class 'datetime.datetime'>
>>> now = time.time()
>>> type(now)
<class 'float'>
>>> now
1526459947.3928223
>>> time.localtime(now) 傳入一個(gè)unix時(shí)間戳
time.struct_time(tm_year=2018, tm_mon=5, tm_mday=16, tm_hour=16, tm_min=39, tm_sec=7, tm_wday=2, tm_yday=136, tm_isdst=0)
>>> type(time.localtime(now))
<class 'time.struct_time'>
datetime.now()得到的是datetime類(lèi)型的對(duì)象,time.time()得到的是一個(gè)unix時(shí)間戳,也就是一個(gè)浮點(diǎn)數(shù)。time.localtime得到的是一個(gè)struct_time類(lèi)型的對(duì)象。
>>> d = datetime.datetime.now()
>>> d
datetime.datetime(2018, 5, 16, 16, 48, 28, 8122)
>>> (d.year, d.month, d.day, d.hour)
(2018, 5, 16, 16)
>>> now = time.time()
>>> t = time.localtime(now)
>>> t
time.struct_time(tm_year=2018, tm_mon=5, tm_mday=16, tm_hour=17, tm_min=9, tm_sec=24, tm_wday=2, tm_yday=136, tm_isdst=0)
>>> (t.tm_year, t.tm_mon)
(2018, 5)
datetime和struct_time類(lèi)型都可以很容易的得到年月日。
這幾個(gè)類(lèi)型可以相互轉(zhuǎn)化。
>>> datetime.datetime.now().timetuple() // datetime轉(zhuǎn)time_struct
time.struct_time(tm_year=2018, tm_mon=5, tm_mday=16, tm_hour=17, tm_min=13, tm_sec=15, tm_wday=2, tm_yday=136, tm_isdst=-1)
>>> time.mktime(datetime.datetime.now().timetuple()) // datetime轉(zhuǎn)time_struct再轉(zhuǎn)unix時(shí)間戳
1526462212.0
>>> datetime.datetime.fromtimestamp(time.time()) // unix時(shí)間戳轉(zhuǎn)datetime
datetime.datetime(2018, 5, 16, 17, 18, 30, 84841)