python常用模組——time模組

來源:互聯網
上載者:User

標籤:sleep   nes   es2017   time()   .net   apt   時間處理   ptime   mtime   

參考部落格:http://blog.csdn.net/SeeTheWorld518/article/details/48314501

     http://www.jb51.net/article/49325.htm

time模組中常用的函數
函數 功能
time.time() 擷取時間戳記
time.localtime() 擷取時間元祖和將時間戳記轉換為時間元祖
time.gmtime() 擷取時間元祖和將時間戳記轉換為時間元祖
time.mktime 將時間元祖轉換為時間戳記
time.strftime() 擷取格式化時間和將時間元祖轉化為格式化時間
time.sttptime() 將格式化時間轉化為時間元祖
time.asctime() 將時間元祖轉化為固定格式
time.ctime() 將時間戳記轉化為固定格式
time.sleep() 休息
time.clock()  

 

 

 

 

 

 

 

 

 

在我們平常的代碼中,經常需要和時間打交道。

在python中,與時間處理相關的模組有:time、da‘tetime以及calendar。

學會計算時間,對程式的調優非常重要,可以在程式中狂打時間戳記,來判斷程式中那一塊耗時最多,從而找到程式調優的重心。

下面將使用最廣的time模組,其他模組後續有機會陸續講解。

首先有幾點需要說明:

(1)在python中,通常有這幾種方式表示時間:時間戳記、格式化的時間字串以及時間元祖(struct_time共九種元素)。

(2)時間戳記(timestamp):時間戳記表示是從1970年1月1號00:00:00開始按秒計算到現在的位移量。

(3)時間元祖:時間元祖共有九個元素,返回時間元祖的函數主要有gmtime()、localtime()、strptime()。

 

一、表示時間的三種方式

1.時間戳記

>>> import time>>> time.time()1510666111.4657724  #距離1970年1月1日0點的秒數

 

2.格式化時間

>>> time.strftime("%Y-%m-%d %H:%M:%S")‘2017-11-14 21:29:32‘ 
常見格式化的時間字串中參數的含義
%Y        完整的年份(4個數字)
%m 月份(1-12)
%d 一個月中的第幾天(1-31)
%H 一天中的第幾個小時(0-23)
%M 分鐘數(0-59)
%S 秒(0-59)
%c 標準的日期的時間串,例:‘Wed Nov 15 00:43:54 2017‘
%C 年份的後兩位元字
%D 月/天/年,例:‘11/15/17‘
%H 24小時制
%I 12小時制
%F 年/月/日,例:‘2017-11-15‘
%T 顯示時分秒,例:‘00:50:00‘
%x 標準的日期串,例:‘11/15/17‘
%X 標準的時間串,例:‘00:50:55‘
%a 星期幾的簡寫,例:‘Wed‘
%A 星期幾的全稱,例:‘Wednesday‘
%b 月份的簡寫,例:‘Nov‘
%B 月份的全稱,例:‘November‘
%V 每年的第幾周
%u 每周的第幾天
%U 第*年的第幾周

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.時間元祖

>>> time.localtime()  #本地時間time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=21, tm_min=29, tm_sec=46, tm_wday=1, tm_yday=318, tm_isdst=0)>>> time.gmtime()   #標準時間,相對倫敦提前8小時time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=13, tm_min=30, tm_sec=30, tm_wday=1, tm_yday=318, tm_isdst=0)

我們稱之為時間元祖,雖然不是元祖,但類似元祖。

#可以按照索引來取值>>> time_tuple[0]2017>>> time_tuple[1]
11
時間元祖中個元素所代表的含義
tm_year
tm_mon 月(1-12)
tm_mday 日(1-31)
tm_hour 時(0-23)
tim_min 分(1-59)
tm_sec 秒(0-59)
tm_wday 星期幾(0-6,0表示周日)
tm_yday 一年中的第幾天(1-365)
tm_isdst

是否是夏令時(預設-1)

 

 

 

 

 

 

 

 

 

 

二、time模組中常用的函數

在使用該模組中的函數的時候,必須先引入該模組(import time)

1.time.time():返回目前時間時間戳記。

>>> time.time()1510671831.6499062

 

2.time.localtime():功能有兩個:(1)返回當前的時間元祖;(2)將一個時間戳記轉化為時間元祖。

當沒有傳參數的時候預設調用time.localtime()

>>> time.localtime() #擷取本地時間元祖time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=23, tm_min=5, tm_sec=4, tm_wday=1, tm_yday=318, tm_isdst=0)>>> time.localtime(time.time())#將時間戳記轉化為時間元祖time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=23, tm_min=7, tm_sec=28, tm_wday=1, tm_yday=318, tm_isdst=0)

 

3.time.gmtime():與time.localtime()功能一樣,返回目前時間元祖和將一個時間戳記轉化為時間元祖。

>>> time.gmtime() #獲得時間元祖time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=15, tm_min=9, tm_sec=12, tm_wday=1, tm_yday=318, tm_isdst=0)>>> time.gmtime(time.time())  #將時間戳記轉化為時間元祖time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=15, tm_min=9, tm_sec=18, tm_wday=1, tm_yday=318, tm_isdst=0)

 

4.time.mktime():將一個時間元祖轉換為時間戳記。

>>> time_tuple = time.localtime()>>> time.mktime(time_tuple)1510672372.0

 

5.time.strptime():將一個格式化的時間字串轉化為時間元祖。

>>> time.strptime(‘2017-11-14 16:23:33‘,"%Y-%m-%d %M:%H:%S")time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=23, tm_min=16, tm_sec=33, tm_wday=1, tm_yday=318, tm_isdst=-1)

 

6.time.strftime():功能有兩個:(1)擷取格式化的時間字串;(2)將時間元祖轉化為格式化時間。

#擷取格式化時間>>> time.strftime("%Y-%m-%d %M:%H:%S")‘2017-11-14 16:23:33‘#將時間元祖轉化為格式化時間>>> time_tupletime.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=23, tm_min=12, tm_sec=52, tm_wday=1, tm_yday=318, tm_isdst=0)>>> time.strftime(‘%Y-%m-%d %M:%H:%S‘,time_tuple) #時間格式在前‘2017-11-14 12:23:52‘

 

7.time.asctime():將一個表示時間的元祖或者struct_time表示為‘Tue Nov 14 23:12:52 2017‘這種形式,如果沒有傳參數,預設以time.localtime()作為參數。

#將時間元祖表示成固定的形式>>> time_tupletime.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=23, tm_min=12, tm_sec=52, tm_wday=1, tm_yday=318, tm_isdst=0)>>> time.asctime(time_tuple)‘Tue Nov 14 23:12:52 2017‘#如果沒有指定參數,預設以time.localtime()作為參數>>> time.asctime()‘Tue Nov 14 23:27:59 2017‘

 

8.time.ctime():將一個時間戳記轉換為‘Tue Nov 14 23:32:58 2017‘這種形式,如果沒有指定參數,預設以time.local()作為參數

#轉換時間戳記>>> time.ctime(1000000000)‘Sun Sep  9 09:46:40 2001‘#預設情況>>> time.ctime()‘Tue Nov 14 23:32:58 2017‘

 

9.time.sleep():線程延遲指定的時間運行。預設單位為秒。

>>> time.sleep(10)

 

10.time.clock()

 

python常用模組——time模組

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.