這篇文章給大家分享的是有關(guān)datetime在python3時間中特殊使用的示例的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
豐寧ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
像這樣datetime(2019,1,1, 0,0,0)聲明的一個對象是沒有時區(qū)信息的,每一個datetime對象都有一個tzinfo的屬性,而剛剛生成的這個對象的tzinfo是None。如果要聲明一個帶有時區(qū)信息的datetime對象需要先聲明一個時區(qū), 而這個時區(qū)就是一個timezone對象,可以通過timedelta來完成構(gòu)造
e8zone = timezone(timedelta(hours=8), 'Asia/Shanghai') d = datetime(2019,1,1, 0,0,0, tzinfo=e8zone) print(d)
而此時的輸出是
2019-01-01 00:00:00+08:00
可以看到和前面相比多出來了+08:00的信息表示東八區(qū), 如果是一個沒有timezone的datetime對象,時區(qū)部分則不會輸出。
另外,你還可以定制化datetime對象的輸出
f = d.strftime("%Y-%m-%d %H:%M:%S.%f %Z") print(f)
此時,會輸出
2019-01-01 00:00:00.000000 Asia/Shanghai
此時,%Z輸出了文字形式的時區(qū),如果想要類似+0800形式的時區(qū)格式,可以換成%z
時區(qū)不只是+8,-8這樣的,還有不規(guī)則的時區(qū)比如加拿大紐芬蘭的時區(qū)
e3mzone = timezone(timedelta(hours=-3, minutes=-30), 'Canada/Newfoundland') d = datetime.datetime(2019,1,1, 0,0,0, tzinfo=e3mzone) print(d)
會輸出
2019-01-01 00:00:00+08:00
而當(dāng)我們替換時區(qū)時,默認(rèn)的python包并不會自動轉(zhuǎn)換
e3mzone = timezone(timedelta(hours=-3, minutes=-30), 'Canada/Newfoundland') d = datetime.datetime(2019,1,1, 0,0,0, tzinfo=e3mzone) print(d) e8zone = timezone(timedelta(hours=8), 'Asia/Shanghai') d = d.replace(tzinfo=e8zone) print(d)
會輸出
2019-01-01 00:00:00-03:30 2019-01-01 00:00:00+08:00
感謝各位的閱讀!關(guān)于datetime在python3時間中特殊使用的示例就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!