日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python學(xué)習(xí):time模塊,datetime 模塊

系統(tǒng) 1894 0

計(jì)算機(jī)的系統(tǒng)時(shí)鐘設(shè)置為特定的日期、時(shí)間和時(shí)區(qū)。內(nèi)置的 time 模塊讓 Python程序能讀取系統(tǒng)時(shí)鐘的當(dāng)前時(shí)間。在 time 模塊中, time.time()和 time.sleep()函數(shù)是最有用的模塊。

time模塊

time.time()函數(shù)

Unix 紀(jì)元是編程中經(jīng)常參考的時(shí)間: 1970 年 1 月 1 日 0 點(diǎn),即協(xié)調(diào)世界時(shí)( UTC)。 time.time()函數(shù) 返回自那一刻以來(lái)的秒數(shù),是一個(gè)浮點(diǎn)值(回想一下,浮點(diǎn)值只是一個(gè)帶小數(shù)點(diǎn)的數(shù))。這個(gè)數(shù)字稱為 UNIX 紀(jì)元時(shí)間戳。


紀(jì)元時(shí)間戳可以用于剖析代碼,也就是測(cè)量一段代碼的運(yùn)行時(shí)間。如果在代碼塊開(kāi)始時(shí)調(diào)用time.time(), 并在結(jié)束時(shí)再次調(diào)用,就可以用第二個(gè)時(shí)間戳減去第一個(gè),得到這兩次調(diào)用之間經(jīng)過(guò)的時(shí)間。


            
              
                import
              
               time

              
                def
              
              
                calcProd
              
              
                (
              
              
                )
              
              
                :
              
              
                # Calculate the product of the first 100,000 numbers.
              
              
    product 
              
                =
              
              
                1
              
              
                for
              
               i 
              
                in
              
              
                range
              
              
                (
              
              
                1
              
              
                ,
              
              
                100000
              
              
                )
              
              
                :
              
              
        product 
              
                =
              
               product 
              
                *
              
               i
    
              
                return
              
               product
startTime 
              
                =
              
               time
              
                .
              
              time
              
                (
              
              
                )
              
              
prod 
              
                =
              
               calcProd
              
                (
              
              
                )
              
              
endTime 
              
                =
              
               time
              
                .
              
              time
              
                (
              
              
                )
              
              
                print
              
              
                (
              
              
                'The result is %s digits long.'
              
              
                %
              
              
                (
              
              
                len
              
              
                (
              
              
                str
              
              
                (
              
              prod
              
                )
              
              
                )
              
              
                )
              
              
                )
              
              
                print
              
              
                (
              
              
                'Took %s seconds to calculate.'
              
              
                %
              
              
                (
              
              endTime 
              
                -
              
               startTime
              
                )
              
              
                )
              
            
          
            
              輸出:
The result is 456569 digits long.
Took 10.653937101364136 seconds to calculate.

            
          

time.sleep()函數(shù)

如果需要讓程序暫停一下,就調(diào)用 time.sleep()函數(shù),并傳入希望程序暫停的秒數(shù)

            
              
                >>
              
              
                >
              
              
                import
              
               time

              
                >>
              
              
                >
              
              
                for
              
               i 
              
                in
              
              
                range
              
              
                (
              
              
                3
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                'Tick'
              
              
                )
              
              
		time
              
                .
              
              sleep
              
                (
              
              
                1
              
              
                )
              
              
                print
              
              
                (
              
              
                'Tock'
              
              
                )
              
              
		time
              
                .
              
              sleep
              
                (
              
              
                1
              
              
                )
              
            
          

time.gmtime([secs])

將 seconds since the epoch 為單位的時(shí)間轉(zhuǎn)換為UTC的 struct_time ,其中dst標(biāo)志始終為零。如果未提供 secs 或?yàn)?None ,則使用由 time() 返回的當(dāng)前時(shí)間。忽略一秒的分?jǐn)?shù)。

time.localtime([secs])

與 gmtime() 相似但轉(zhuǎn)換為當(dāng)?shù)貢r(shí)間。如果未提供 secs 或?yàn)?None ,則使用由 time() 返回的當(dāng)前時(shí)間。當(dāng) DST 適用于給定時(shí)間時(shí),dst標(biāo)志設(shè)置為 1 。
localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min, tm_sec,tm_wday,tm_yday,tm_isdst)

            
              
                import
              
               time

t
              
                =
              
              time
              
                .
              
              localtime
              
                (
              
              
                )
              
              
                print
              
              
                (
              
              
                '年:%s\t月:%s\t日:%s'
              
              
                %
              
              
                (
              
              t
              
                .
              
              tm_year
              
                ,
              
              t
              
                .
              
              tm_mon
              
                ,
              
              t
              
                .
              
              tm_mday
              
                )
              
              
                )
              
              
輸出:
年:
              
                2019
              
              	月:
              
                6
              
              	日:
              
                19
              
            
          

strftime(format[, tuple]) -> string:
將結(jié)構(gòu)化時(shí)間轉(zhuǎn)化為字符串時(shí)間

  • format:為格式化的時(shí)間格式,
  • p_tuple為格式化時(shí)間
            
              
                print
              
              
                (
              
              time
              
                .
              
              strftime
              
                (
              
              
                '%Y-%m-%d'
              
              
                ,
              
              time
              
                .
              
              localtime
              
                (
              
              
                )
              
              
                )
              
              
                )
              
              
輸出:
              
                2019
              
              
                -
              
              
                06
              
              
                -
              
              
                19
              
            
          

Python學(xué)習(xí):time模塊,datetime 模塊_第1張圖片
strptime(string, format) -> struct_time
字符串時(shí)間轉(zhuǎn)化為格式化時(shí)間

            
              
                #------將字符串時(shí)間轉(zhuǎn)成結(jié)構(gòu)化時(shí)間strptime
              
              
                print
              
              
                (
              
              time
              
                .
              
              strptime
              
                (
              
              
                "2016:12:24:17:50:36"
              
              
                ,
              
              
                "%Y:%m:%d:%X"
              
              
                )
              
              
                )
              
            
          

asctime([tuple]) -> string
When the time tuple is not present, current time as returned by localtime()

ctime(seconds) -> string

            
              
                print
              
              
                (
              
              time
              
                .
              
              asctime
              
                (
              
              
                )
              
              
                )
              
              
                print
              
              
                (
              
              time
              
                .
              
              ctime
              
                (
              
              
                )
              
              
                )
              
              
輸出:
Wed Jun 
              
                19
              
              
                16
              
              
                :
              
              
                05
              
              
                :
              
              
                21
              
              
                2019
              
              
Wed Jun 
              
                19
              
              
                16
              
              
                :
              
              
                05
              
              
                :
              
              
                21
              
              
                2019
              
            
          

了解更多,請(qǐng)參考官方文檔

datetime 模塊

time 模塊用于取得 Unix 紀(jì)元時(shí)間戳,并加以處理。但是,如果以更方便的格式顯示日期,或?qū)θ掌谶M(jìn)行算術(shù)運(yùn)算(例如,搞清楚 205 天前是什么日期,或 123天后是什么日期),就應(yīng)該使用 atetime 模塊。
datetime 模塊有自己的 datetime 數(shù)據(jù)類型。 datetime 值表示一個(gè)特定的時(shí)刻。

            
              
                >>
              
              
                >
              
              
                import
              
               datetime

              
                >>
              
              
                >
              
               datetime
              
                .
              
              datetime
              
                .
              
              now
              
                (
              
              
                )
              
              
datetime
              
                .
              
              datetime
              
                (
              
              
                2015
              
              
                ,
              
              
                2
              
              
                ,
              
              
                27
              
              
                ,
              
              
                11
              
              
                ,
              
              
                10
              
              
                ,
              
              
                49
              
              
                ,
              
              
                55
              
              
                ,
              
              
                53
              
              
                )
              
              
                >>
              
              
                >
              
               dt 
              
                =
              
               datetime
              
                .
              
              datetime
              
                (
              
              
                2015
              
              
                ,
              
              
                10
              
              
                ,
              
              
                21
              
              
                ,
              
              
                16
              
              
                ,
              
              
                29
              
              
                ,
              
              
                0
              
              
                )
              
              
                >>
              
              
                >
              
               dt
              
                .
              
              year
              
                ,
              
               dt
              
                .
              
              month
              
                ,
              
               dt
              
                .
              
              day

              
                (
              
              
                2015
              
              
                ,
              
              
                10
              
              
                ,
              
              
                21
              
              
                )
              
              
                >>
              
              
                >
              
               dt
              
                .
              
              hour
              
                ,
              
              dt
              
                .
              
              minute
              
                ,
              
               dt
              
                .
              
              second

              
                (
              
              
                16
              
              
                ,
              
              
                29
              
              
                ,
              
              
                0
              
              
                )
              
            
          

調(diào)用 datetime.datetime.now() 返回一個(gè) datetime 對(duì)象,表示當(dāng)前的日期和時(shí)間,根據(jù)你的計(jì)算機(jī)的時(shí)鐘。這個(gè)對(duì)象包含當(dāng)前時(shí)刻的年、月、日、時(shí)、分、秒和微秒。也可以利用 datetime.datetime()函數(shù) ,向它傳入代表年、月、日、時(shí)、分、秒的整數(shù),得到特定時(shí)刻的 datetime 對(duì)象。這些整數(shù)將保存在 datetime 對(duì)象的 year、month、 day、 hour、 minute 和 second屬性中。
Unix 紀(jì)元時(shí)間戳可以通過(guò) datetime.datetime.fromtimestamp() 轉(zhuǎn)換為 datetime對(duì)象。 datetime 對(duì)象的日期和時(shí)間將根據(jù)本地時(shí)區(qū)轉(zhuǎn)換。

            
              
                >>
              
              
                >
              
               datetime
              
                .
              
              datetime
              
                .
              
              fromtimestamp
              
                (
              
              
                1000000
              
              
                )
              
              
datetime
              
                .
              
              datetime
              
                (
              
              
                1970
              
              
                ,
              
              
                1
              
              
                ,
              
              
                12
              
              
                ,
              
              
                5
              
              
                ,
              
              
                46
              
              
                ,
              
              
                40
              
              
                )
              
              
                >>
              
              
                >
              
               datetime
              
                .
              
              datetime
              
                .
              
              fromtimestamp
              
                (
              
              time
              
                .
              
              time
              
                (
              
              
                )
              
              
                )
              
              
datetime
              
                .
              
              datetime
              
                (
              
              
                2015
              
              
                ,
              
              
                2
              
              
                ,
              
              
                27
              
              
                ,
              
              
                11
              
              
                ,
              
              
                13
              
              
                ,
              
              
                0
              
              
                ,
              
              
                604980
              
              
                )
              
            
          

timedelta 數(shù)據(jù)類型

datetime 模塊還提供了 timedelta 數(shù)據(jù)類型,它表示一段時(shí)間,而不是一個(gè)時(shí)刻。

            
              
                >>
              
              
                >
              
               delta 
              
                =
              
               datetime
              
                .
              
              timedelta
              
                (
              
              days
              
                =
              
              
                11
              
              
                ,
              
               hours
              
                =
              
              
                10
              
              
                ,
              
               minutes
              
                =
              
              
                9
              
              
                ,
              
               seconds
              
                =
              
              
                8
              
              
                )
              
              
                >>
              
              
                >
              
               delta
              
                .
              
              days
              
                ,
              
               delta
              
                .
              
              seconds
              
                ,
              
               delta
              
                .
              
              microseconds

              
                (
              
              
                11
              
              
                ,
              
              
                36548
              
              
                ,
              
              
                0
              
              
                )
              
              
                >>
              
              
                >
              
               delta
              
                .
              
              total_seconds
              
                (
              
              
                )
              
              
                986948.0
              
              
                >>
              
              
                >
              
              
                str
              
              
                (
              
              delta
              
                )
              
              
                '11 days, 10:09:08'
              
            
          

創(chuàng)建 timedelta 對(duì)象 ,就用 datetime.timedelta()函數(shù) 。 datetime.timedelta()函數(shù)接受關(guān)鍵字參數(shù) weeks、 days、 hours、 minutes、 seconds、 milliseconds 和 microseconds。沒(méi)有 month 和 year 關(guān)鍵字參數(shù),因?yàn)椤霸隆焙汀澳辍笔强勺兊臅r(shí)間,依賴于特定月份或年份。 timedelta 對(duì)象擁有的總時(shí)間以天、秒、微秒來(lái)表示。這些數(shù)字分別保存在 days、 seconds 和 microseconds 屬性中。 total_seconds()方法返回只以秒表示的時(shí)間。將一個(gè) timedelta 對(duì)象傳入 str(),將返回格式良好的、人類可讀的字符串表示。

將 datetime 對(duì)象轉(zhuǎn)換為字符串

Unix 紀(jì)元時(shí)間戳和 datetime 對(duì)象對(duì)人類來(lái)說(shuō)都不是很友好可讀。利用 strftime()方法 ,可以將 datetime 對(duì)象顯示為字符串。(strftime()函數(shù)名中的 f 表示格式, format)。
Python學(xué)習(xí):time模塊,datetime 模塊_第2張圖片
向 strftime()傳入一個(gè)定制的格式字符串,其中包含格式化指定(以及任何需要的斜線、冒號(hào)等), strftime()將返回一個(gè)格式化的字符串,表示 datetime 對(duì)象的信息。

            
              
                >>
              
              
                >
              
               oct21st 
              
                =
              
               datetime
              
                .
              
              datetime
              
                (
              
              
                2015
              
              
                ,
              
              
                10
              
              
                ,
              
              
                21
              
              
                ,
              
              
                16
              
              
                ,
              
              
                29
              
              
                ,
              
              
                0
              
              
                )
              
              
                >>
              
              
                >
              
               oct21st
              
                .
              
              strftime
              
                (
              
              
                '%Y/%m/%d %H:%M:%S'
              
              
                )
              
              
                '2015/10/21 16:29:00'
              
              
                >>
              
              
                >
              
               oct21st
              
                .
              
              strftime
              
                (
              
              
                '%I:%M %p'
              
              
                )
              
              
                '04:29 PM'
              
              
                >>
              
              
                >
              
               oct21st
              
                .
              
              strftime
              
                (
              
              
                "%B of '%y"
              
              
                )
              
              
                "October of '15"
              
            
          

將字符串轉(zhuǎn)換成 datetime 對(duì)象

如果有一個(gè)字符串的日期信息,如’2015/10/21 16:29:00’或’October 21, 2015’,需要將它轉(zhuǎn)換為 datetime 對(duì)象,就用 datetime.datetime.strptime()函數(shù)。 strptime()函數(shù) 與strftime()方法相反。定制的格式字符串使用相同的指令,像 strftime()一樣。必須將格式字符串傳入 strptime(),這樣它就知道如何解析和理解日期字符串( strptime()函數(shù)名中 p 表示解析, parse)。

            
              
                >>
              
              
                >
              
               datetime
              
                .
              
              datetime
              
                .
              
              strptime
              
                (
              
              
                'October 21, 2015'
              
              
                ,
              
              
                '%B %d, %Y'
              
              
                )
              
              
datetime
              
                .
              
              datetime
              
                (
              
              
                2015
              
              
                ,
              
              
                10
              
              
                ,
              
              
                21
              
              
                ,
              
              
                0
              
              
                ,
              
              
                0
              
              
                )
              
              
                >>
              
              
                >
              
               datetime
              
                .
              
              datetime
              
                .
              
              strptime
              
                (
              
              
                '2015/10/21 16:29:00'
              
              
                ,
              
              
                '%Y/%m/%d %H:%M:%S'
              
              
                )
              
              
datetime
              
                .
              
              datetime
              
                (
              
              
                2015
              
              
                ,
              
              
                10
              
              
                ,
              
              
                21
              
              
                ,
              
              
                16
              
              
                ,
              
              
                29
              
              
                )
              
              
                >>
              
              
                >
              
               datetime
              
                .
              
              datetime
              
                .
              
              strptime
              
                (
              
              
                "October of '15"
              
              
                ,
              
              
                "%B of '%y"
              
              
                )
              
              
datetime
              
                .
              
              datetime
              
                (
              
              
                2015
              
              
                ,
              
              
                10
              
              
                ,
              
              
                1
              
              
                ,
              
              
                0
              
              
                ,
              
              
                0
              
              
                )
              
              
                >>
              
              
                >
              
               datetime
              
                .
              
              datetime
              
                .
              
              strptime
              
                (
              
              
                "November of '63"
              
              
                ,
              
              
                "%B of '%y"
              
              
                )
              
              
datetime
              
                .
              
              datetime
              
                (
              
              
                2063
              
              
                ,
              
              
                11
              
              
                ,
              
              
                1
              
              
                ,
              
              
                0
              
              
                ,
              
              
                0
              
              
                )
              
            
          

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 阳城县| 临汾市| 唐河县| 化州市| 东兰县| 济阳县| 三河市| 成安县| 昌平区| 凤山市| 青铜峡市| 高唐县| 张家界市| 滦南县| 德江县| 西畴县| 东方市| 肥东县| 宁河县| 鄂温| 阆中市| 布尔津县| 汤阴县| 大姚县| 昭觉县| 监利县| 田东县| 庄浪县| 吉木萨尔县| 巴林右旗| 南郑县| 杂多县| 阿克| 洞口县| 华亭县| 宁德市| 商都县| 柏乡县| 会东县| 宝应县| 都兰县|