一、time
>>> time.time() 1446193516.198661
返回的是一個float類型的數值,計算從1970年1月1日0時0分0秒到當前時間的秒偏移。
>>> time.localtime() time.struct_time(tm_year=2015, tm_mon=10, tm_mday=30, tm_hour=16, tm_min=25, tm_sec=45, tm_wday=4, tm_yday=303, tm_isdst=0) >>> time.localtime().tm_year 2015 >>> time.localtime(144613352) time.struct_time(tm_year=1974, tm_mon=8, tm_mday=2, tm_hour=2, tm_min=22, tm_sec=32, tm_wday=4, tm_yday=214, tm_isdst=0)
返回的是time.struct_time類型的元組,可以通過關鍵字引用。也可以手動輸入秒偏移量。
>>> time.gmtime() time.struct_time(tm_year=2015, tm_mon=10, tm_mday=30, tm_hour=8, tm_min=32, tm_sec=2, tm_wday=4, tm_yday=303, tm_isdst=0)
與localtime的使用方法一樣,返回的是0時區的時間,即東八區減8小時。
>>> t = time.localtime() >>> time.mktime(t) 1446194114.0
將strct_time轉換成時間戳。
>>> time.sleep(3)
即sleep。
>>> time.clock()
上一次調用到現在運行的時間。
>>> time.asctime() 'Fri Oct 30 16:45:20 2015'
產生這樣的時間格式,同樣也支持自傳秒數。
>>> time.ctime(time.time()) 'Fri Oct 30 16:48:17 2015'
將時間戳轉換成asctime模式。
>>> time.strftime("%Y-%m-%d %X", time.localtime()) '2015-10-30 16:51:36'
格式化字符串,可以將str_time或者時間元組格式化成自己需要的時間模式,類似date,具體的就不細寫了。
二、datetime
>>> datetime.datetime.now() datetime.datetime(2015, 12, 8, 23, 38, 41, 653512) >>> timenow = datetime.datetime.now() >>> type(timenow) <type 'datetime.datetime'> >>> timenow.day 8 >>> timenow.hour 23
獲得當前的datetime,可以索引對應的值。
>>> datetime.date.today() datetime.date(2015, 12, 8) >>> datetoday = datetime.date.today() >>> datetoday datetime.date(2015, 12, 8) >>> datetoday.year 2015
獲得當前的date,可以索引對應的值。
>>> datetime.datetime.now() datetime.datetime(2015, 12, 8, 23, 43, 39, 820130) >>> datetime.datetime.now() + datetime.timedelta(days=1) datetime.datetime(2015, 12, 9, 23, 44, 19, 835489) >>> datetime.datetime.now() - datetime.timedelta(days=3) datetime.datetime(2015, 12, 5, 23, 44, 28, 124337)
明天,三天前。
>>> (datetime.datetime(2015,12,9,0,0,0) - datetime.datetime.now()).total_seconds() 750.895672
2個時間點的時間差。
三、幾種關係之間的轉換
datetime->string
>>> datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
'2015-12-08 23:53:17'
string->datetime
>>> datetime.datetime.strptime("2015-12-08 22:22:22","%Y-%m-%d %H:%M:%S") datetime.datetime(2015, 12, 8, 22, 22, 22)
datetime->timetuple
>>> datetime.datetime.now().timetuple() time.struct_time(tm_year=2015, tm_mon=12, tm_mday=8, tm_hour=23, tm_min=58, tm_sec=23, tm_wday=1, tm_yday=342, tm_isdst=-1)
timetuple->datetime
需要從timetuple=>timestamp=>datetime
datetime->date
>>> datetime.datetime.now().date() datetime.date(2015, 12, 9)
date->datetime
>>> today = datetime.date.today() >>> datetime.datetime.combine(today,datetime.time()) datetime.datetime(2015, 12, 9, 0, 0)
timestamp->datetime
>>> datetime.datetime.fromtimestamp(time.time()) datetime.datetime(2015, 12, 9, 0, 7, 56, 176283)
datetime->timestamp
>>> now = datetime.datetime.now() >>> timestamp = time.mktime(now.timetuple()) >>> timestamp 1449590935.0