隨便寫點時間相關的模塊

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章