今天就跟大家聊聊有關(guān)Python中time和datetime庫(kù)如何使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
10年的成安網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整成安建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“成安網(wǎng)站設(shè)計(jì)”,“成安網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
時(shí)間戳是指格林威治時(shí)間1970年01月01日00時(shí)00分00秒(北京時(shí)間1970年01月01日08時(shí)00分00秒)起至現(xiàn)在的總秒數(shù)。注意:目前Python中支持的最大的時(shí)間戳為32535244799(3001-01-01 15:59:59)
Python的time塊下有很多函數(shù)可以轉(zhuǎn)換常見(jiàn)日期格式。如函數(shù)time.time()用于獲取當(dāng)前時(shí)間戳。例如:
import time time.time() #返回當(dāng)前時(shí)間的時(shí)間戳 2000年時(shí)間戳 都是10位 1557212908.1839943 # 獲取毫秒級(jí)別的時(shí)間戳(爬蟲(chóng)參數(shù)基本用14位時(shí)間戳加密) int(round(time.time() * 1000)) 1557212908183
在編寫(xiě)代碼時(shí),往往涉及時(shí)間、日期、時(shí)間戳的相互轉(zhuǎn)換。
「str類型的日期轉(zhuǎn)換為時(shí)間戳」
import time # 字符類型的時(shí)間 t = '2019-05-07 15:08:28' # 轉(zhuǎn)為時(shí)間數(shù)組 timeArray = time.strptime(t, "%Y-%m-%d %H:%M:%S") print(timeArray) # timeArray可以調(diào)用tm_year等 print(timeArray.tm_year) # 2019 # 轉(zhuǎn)為時(shí)間戳 timeStamp = int(time.mktime(timeArray)) print(timeStamp) # 1381419600 # 結(jié)果如下 time.struct_time(tm_year=2019, tm_mon=5, tm_mday=7, tm_hour=15, tm_min=8, tm_sec=28, tm_wday=1, tm_yday=127, tm_isdst=-1) 2019 1557212908
「字符串格式更改」
# "2019-05-07 15:08:28" 改為 "2019/5/7 15:08:28" # 先轉(zhuǎn)換為時(shí)間數(shù)組 import time str_time = "2019-05-07 15:08:28" time_array = time.strptime(str_time, "%Y-%m-%d %H:%M:%S") other_way_time = time.strftime("%Y/%m/%d %H:%M:%S", time_array) print(other_way_time) # 2019/05/07 15:08:28 now = datetime.datetime.now() otherStyleTime = now.strftime("%Y--%m--%d %H:%M:%S") print(otherStyleTime) # 2019--05--07 15:08:28
「時(shí)間戳轉(zhuǎn)時(shí)間日期」
import time import datetime # 使用time timeStamp = 1557212908 timeArray = time.localtime(timeStamp) otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray) print(otherStyleTime) # 2019--05--07 15:08:28 # 使用datetime timeStamp = 1557212908 dateArray = datetime.datetime.fromtimestamp(timeStamp) otherStyleTime = dateArray.strftime("%Y--%m--%d %H:%M:%S") print(otherStyleTime) # 2019--05--07 15:08:28 # 使用datetime,指定utc時(shí)間,相差8小時(shí) timeStamp = 1557212908 dateArray = datetime.datetime.utcfromtimestamp(timeStamp) otherStyleTime = dateArray.strftime("%Y--%m--%d %H:%M:%S") print(otherStyleTime) # 2019--05--07 07:08:28
datetime模塊是在time模塊的基礎(chǔ)之上做了封裝,提供了更多更好用的類供我們使用,常用的有date、time、datetime、timedelta、tzinfo。但是為了更靈活的處理時(shí)間,最好是將time模塊和datetime模塊中的精髓學(xué)習(xí)到。
date類:主要用于處理年、月、日。
date類的構(gòu)造函數(shù)如下:datetime.date(year, month, day)
示例:
from datetime import date d = date(1999, 9, 29) print(d) print('year:', d.year) print('month:', d.month) print('day:', d.day)
具體輸出:
1999-09-29 year: 1999 month: 9 day: 29
time類:主要用于處理小時(shí)、分鐘、秒。
time類的構(gòu)造函數(shù)如下:datetime.time(hour[,minute[,second[,microsecond[,tzinfo]]]])
示例:
from datetime import time t = time(22, 45, 59) print(t) print('hour:', t.hour) print('minute:', t.minute) print('second:', t.second) print('microsecond:', t.microsecond) #微秒 print('格式化輸出:', t.strftime('%H:%M:%S')) print('Earliest :', datetime.time.min) print('Latest :', datetime.time.max)
輸出:
22:45:59 hour: 22 minute: 45 second: 59 microsecond: 0 格式化輸出:22:45:59 Earliest : 00:00:00 Latest : 23:59:59.999999
datetime子類是date對(duì)象和time對(duì)象的結(jié)合體,是datetime的子類,和它的方法很類似。
它的構(gòu)造函數(shù)如下:
datetime.datetime(year,month,day[,hour[,minute[,second[,microsecond[,tzinfo]]]]]),
各參數(shù)的含義與date、time的構(gòu)造函數(shù)中的一樣,要注意參數(shù)值的范圍。
「獲取當(dāng)前日期和時(shí)間」
>>> from datetime import datetime >>> now = datetime.now() # 獲取當(dāng)前datetime >>> print(now) 2019-05-07 16:28:07.198690 >>> print(type(now)) <class 'datetime.datetime'>
timedelta類是用來(lái)計(jì)算二個(gè)datetime對(duì)象的差值的??梢赃M(jìn)行加減乘除運(yùn)算的,它的實(shí)例化方法和datetime對(duì)象很類似 此類中包含如下屬性:
(1) days:天數(shù)。
(2) microseconds:微秒數(shù)(>=0并且<1秒)。
(3) seconds:秒數(shù)(>=0并且<1天)。
兩個(gè)date或datetime對(duì)象相減就可以返回一個(gè)timedelta對(duì)象。
import datetime as dt date1=dt.date(2020,10,28) timedel=dt.timedelta(days=4) print('四天后的日期是:', date1+timedel) 四天后的日期是:2020-11-01
看完上述內(nèi)容,你們對(duì)Python中time和datetime庫(kù)如何使用有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
網(wǎng)站名稱:Python中time和datetime庫(kù)如何使用
網(wǎng)頁(yè)鏈接:http://chinadenli.net/article40/jggseo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、自適應(yīng)網(wǎng)站、域名注冊(cè)、商城網(wǎng)站、網(wǎng)站內(nèi)鏈、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)