版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
商務(wù)數(shù)據(jù)分析與應(yīng)用專業(yè)教學(xué)資源庫
模塊應(yīng)用實(shí)例
教師北京信息職業(yè)技術(shù)學(xué)院馬東波7.3.1日期時(shí)間相關(guān):datetime模塊datetime是Python處理日期和時(shí)間的標(biāo)準(zhǔn)模塊。(1)獲取當(dāng)前日期和時(shí)間:如下例所示代碼:>>>fromdatetimeimportdatetime>>>now=datetime.now()#獲取當(dāng)前datetime運(yùn)行結(jié)果如下:>>>print(now)2018-06-1913:07:58.7260387.3模塊應(yīng)用實(shí)例第七章模塊7.3.1日期時(shí)間相關(guān):datetime模塊>>>print(type(now))<class'datetime.datetime'>從上例可以看出,datetime是模塊,datetime模塊還包含一個(gè)datetime類,通過fromdatetimeimportdatetime導(dǎo)入的才是datetime這個(gè)類。如果僅導(dǎo)入importdatetime,則必須引用全名datetime.datetime。datetime.now()返回當(dāng)前日期和時(shí)間,其類型是datetime。7.3模塊應(yīng)用實(shí)例第七章模塊7.3.1日期時(shí)間相關(guān):datetime模塊(2)獲取指定日期和時(shí)間:如下所示代碼:>>>fromdatetimeimportdatetime>>>dt=datetime(2018,6,19,13,15)#用指定日期時(shí)間創(chuàng)建datetime運(yùn)行結(jié)果如下:>>>print(dt)2018-06-1913:15:007.3模塊應(yīng)用實(shí)例第七章模塊7.3.1日期時(shí)間相關(guān):datetime模塊
(3)datetime轉(zhuǎn)換為timestamp:在計(jì)算機(jī)中,時(shí)間實(shí)際上是用數(shù)字表示的。我們把1970年1月1日00:00:00UTC+00:00時(shí)區(qū)的時(shí)刻稱為epochtime,記為0(1970年以前的時(shí)間timestamp為負(fù)數(shù)),當(dāng)前時(shí)間就是相對(duì)于epochtime的秒數(shù),稱為timestamp。你可以認(rèn)為:timestamp=0=1970-1-100:00:00UTC+0:00對(duì)應(yīng)的北京時(shí)間是:timestamp=0=1970-1-108:00:00UTC+8:007.3模塊應(yīng)用實(shí)例第七章模塊7.3.1日期時(shí)間相關(guān):datetime模塊可見timestamp的值與時(shí)區(qū)毫無關(guān)系,因?yàn)閠imestamp一旦確定,其UTC時(shí)間就確定了,轉(zhuǎn)換到任意時(shí)區(qū)的時(shí)間也是完全確定的,這就是為什么計(jì)算機(jī)存儲(chǔ)的當(dāng)前時(shí)間是以timestamp表示的,因?yàn)槿蚋鞯氐挠?jì)算機(jī)在任意時(shí)刻的timestamp都是完全相同的。把一個(gè)datetime類型轉(zhuǎn)換為timestamp只需要簡(jiǎn)單調(diào)用timestamp()方法,如下所示代碼:>>>fromdatetimeimportdatetime>>>dt=datetime(2018,6,19,13,15)#用指定日期時(shí)間創(chuàng)建datetime7.3模塊應(yīng)用實(shí)例第七章模塊7.3.1日期時(shí)間相關(guān):datetime模塊運(yùn)行結(jié)果如下:>>>dt.timestamp()#把datetime轉(zhuǎn)換為timestamp1529385300.0注意:Python的timestamp是一個(gè)浮點(diǎn)數(shù)。如果有小數(shù)位,小數(shù)位表示毫秒數(shù)。某些編程語言(如Java和JavaScript)的timestamp使用整數(shù)表示毫秒數(shù),這種情況下只需要把timestamp除以1000就得到Python的浮點(diǎn)表示方法。7.3模塊應(yīng)用實(shí)例第七章模塊7.3.1日期時(shí)間相關(guān):datetime模塊(4)timestamp轉(zhuǎn)換為datetime:要把timestamp轉(zhuǎn)換為datetime,使用datetime提供的fromtimestamp()方法,如下所示代碼:>>>fromdatetimeimportdatetime>>>t=1529385300.0運(yùn)行結(jié)果如下:>>>print(datetime.fromtimestamp(t))2018-06-1913:15:007.3模塊應(yīng)用實(shí)例第七章模塊7.3.1日期時(shí)間相關(guān):datetime模塊從上例可以看出,timestamp是一個(gè)浮點(diǎn)數(shù),它沒有時(shí)區(qū)的概念,而datetime是有時(shí)區(qū)的。上述轉(zhuǎn)換是在timestamp和本地時(shí)間做轉(zhuǎn)換。本地時(shí)間是指當(dāng)前操作系統(tǒng)設(shè)定的時(shí)區(qū)。timestamp也可以直接被轉(zhuǎn)換到UTC標(biāo)準(zhǔn)時(shí)區(qū)的時(shí)間,使用datetime提供的utcfromtimestamp()方法,如下所示代碼:>>>fromdatetimeimportdatetime>>>t=1529385300.07.3模塊應(yīng)用實(shí)例第七章模塊7.3.1日期時(shí)間相關(guān):datetime模塊運(yùn)行結(jié)果如下:>>>print(datetime.fromtimestamp(t))#本地時(shí)間2018-06-1913:15:00>>>print(datetime.utcfromtimestamp(t))#UTC時(shí)間2018-06-1905:15:007.3模塊應(yīng)用實(shí)例第七章模塊7.3.1日期時(shí)間相關(guān):datetime模塊(5)str轉(zhuǎn)換為datetime:用戶輸入的日期和時(shí)間是字符串,要處理日期和時(shí)間,首先必須把str轉(zhuǎn)換為datetime。轉(zhuǎn)換方法是通過datetime提供的strptime()方法來實(shí)現(xiàn),如下例所示代碼:>>>fromdatetimeimportdatetime>>>datee_test=datetime.strptime('2018-06-1913:15:00','%Y-%m-%d%H:%M:%S')7.3模塊應(yīng)用實(shí)例第七章模塊7.3.1日期時(shí)間相關(guān):datetime模塊運(yùn)行結(jié)果如下:>>>print(datee_test)2018-06-1913:15:00在上例中,字符串'%Y-%m-%d%H:%M:%S'規(guī)定了日期和時(shí)間部分的格式。轉(zhuǎn)換后的datetime是沒有時(shí)區(qū)信息的。7.3模塊應(yīng)用實(shí)例第七章模塊7.3.1日期時(shí)間相關(guān):datetime模塊(6)datetime轉(zhuǎn)換為str:如果已經(jīng)有了datetime對(duì)象,要把它格式化為字符串顯示給用戶,就需要轉(zhuǎn)換為str,轉(zhuǎn)換方法是通過datetime提供的strftime()方法實(shí)現(xiàn)的,如下例所示代碼:>>>fromdatetimeimportdatetime>>>now=datetime.now()運(yùn)行結(jié)果如下:>>>print(now.strftime('%a,%b%d%H:%M'))Tue,Jun1913:077.3模塊應(yīng)用實(shí)例第七章模塊7.3.1日期時(shí)間相關(guān):datetime模塊(7)datetime加減:對(duì)日期和時(shí)間進(jìn)行加減,實(shí)際上就是把datetime往后或往前計(jì)算,得到新的datetime。加減可以直接用+和-運(yùn)算符,需要導(dǎo)入timedelta類,如下例所示代碼:>>>fromdatetimeimportdatetime,timedelta>>>now=datetime.now()運(yùn)行結(jié)果如下:>>>now7.3模塊應(yīng)用實(shí)例第七章模塊7.3.1日期時(shí)間相關(guān):datetime模塊datetime.datetime(2018,6,19,14,42,36,664596)>>>now+timedelta(hours=10)datetime.datetime(2018,6,20,0,42,36,664596)>>>now-timedelta(days=10)datetime.datetime(2018,6,9,14,42,36,664596)>>>now+timedelta(days=12,hours=23)datetime.datetime(2018,7,2,13,42,36,664596)從上例可見,使用timedelta可以很容易地算出前幾天和后幾天的時(shí)刻。7.3模塊應(yīng)用實(shí)例第七章模塊7.3.1日期時(shí)間相關(guān):datetime模塊(8)本地時(shí)間轉(zhuǎn)換為UTC時(shí)間:本地時(shí)間是指系統(tǒng)設(shè)定時(shí)區(qū)的時(shí)間,例如北京時(shí)間是UTC+8:00時(shí)區(qū)的時(shí)間,而UTC時(shí)間指UTC+0:00時(shí)區(qū)的時(shí)間。datetime類型有時(shí)區(qū)屬性tzinfo,默認(rèn)為None,所以無法區(qū)分這個(gè)datetime到底是哪個(gè)時(shí)區(qū),除非強(qiáng)行給datetime設(shè)置一個(gè)時(shí)區(qū),如下例所示代碼:>>>fromdatetimeimportdatetime,timedelta,timezone>>>utc_8=timezone(timedelta(hours=8))#創(chuàng)建時(shí)區(qū)UTC+8:00>>>now=datetime.now()7.3模塊應(yīng)用實(shí)例第七章模塊7.3.1日期時(shí)間相關(guān):datetime模塊運(yùn)行結(jié)果如下:>>>nowdatetime.datetime(2018,6,19,15,20,8,373839)>>>dt_test=now.replace(tzinfo=utc_8)#強(qiáng)制設(shè)置為UTC+8:00>>>dt_testdatetime.datetime(2018,6,19,15,20,8,373839,tzinfo=datetime.timezone(datetime.timedelta(0,28800)))從上例可以看出,如果系統(tǒng)時(shí)區(qū)恰好是UTC+8:00,那么上述程序代碼正確,否則,不能強(qiáng)制設(shè)置為UTC+8:00時(shí)區(qū)。7.3模塊應(yīng)用實(shí)例第七章模塊7.3.1日期時(shí)間相關(guān):datetime模塊(9)時(shí)區(qū)轉(zhuǎn)換:先通過datetime提供的utcnow()方法拿到當(dāng)前的UTC時(shí)間,再用astimezone()方法轉(zhuǎn)換為任意時(shí)區(qū)的時(shí)間,如下例所示:獲取UTC時(shí)間,并強(qiáng)制設(shè)置時(shí)區(qū)為UTC+0:00:如下所示代碼:>>>utc_dtime=datetime.utcnow().replace(tzinfo=timezone.utc)運(yùn)行結(jié)果如下:>>>print(utc_dtime)2018-06-1907:27:27.085313+00:007.3模塊應(yīng)用實(shí)例第七章模塊7.3.1日期時(shí)間相關(guān):datetime模塊將轉(zhuǎn)換時(shí)區(qū)為北京時(shí)間,如下所示代碼:>>>bj_dtime=utc_dt.astimezone(timezone(timed
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 軌道有公共交通服務(wù)的條款制度
- 財(cái)務(wù)信息公開制度
- 2026湖南長(zhǎng)沙市開福區(qū)青竹湖湘一健翎學(xué)校春季教師招聘8人備考考試試題附答案解析
- 2026中國(guó)科學(xué)院力學(xué)研究所高速流動(dòng)失穩(wěn)與混合科研團(tuán)隊(duì)招聘科研財(cái)務(wù)助理人員1人參考考試題庫附答案解析
- 2026河北廊坊師范學(xué)院選聘26人備考考試題庫附答案解析
- 六年級(jí)語文上冊(cè)vj語文園地 含“口語交際”十三
- 2026年度上半年伊春湯旺縣公安局公開招聘警務(wù)輔助人員20人參考考試題庫附答案解析
- 2026甘肅金昌市機(jī)關(guān)事務(wù)管理局補(bǔ)招臨聘駕駛員3人備考考試題庫附答案解析
- 2026青海果洛州瑪多縣學(xué)前教育教師招聘12人備考考試題庫附答案解析
- 2026年濟(jì)寧梁山縣事業(yè)單位公開招聘初級(jí)綜合類崗位人員(34人)備考考試試題附答案解析
- 2026福建廈門市高崎出入境邊防檢查站招聘警務(wù)輔助人員30人備考題庫及完整答案詳解
- 2026西藏自治區(qū)教育考試院招聘非編工作人員11人筆試備考試題及答案解析
- 炎癥因子風(fēng)暴與神經(jīng)遞質(zhì)紊亂的干細(xì)胞干預(yù)策略
- 欄桿安裝施工方案要點(diǎn)
- 2026年及未來5年中國(guó)點(diǎn)膠機(jī)行業(yè)市場(chǎng)深度分析及發(fā)展前景預(yù)測(cè)報(bào)告
- 2025四足機(jī)器人場(chǎng)景應(yīng)用發(fā)展藍(lán)皮書簡(jiǎn)版
- 2026年1月浙江省高考(首考)英語試題(含答案)+聽力音頻+聽力材料
- 中國(guó)大型SUV市場(chǎng)數(shù)據(jù)洞察報(bào)告-
- 太陽能路燈施工組織設(shè)計(jì)
- XRD儀器使用實(shí)操手冊(cè)大全
- 司法鑒定機(jī)構(gòu)工作流程及質(zhì)量控制
評(píng)論
0/150
提交評(píng)論