這篇文章給大家分享的是有關datetime在python3時間中特殊使用的示例的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
成都創(chuàng)新互聯公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網站建設、網站建設、企業(yè)官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的宜章網站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!像這樣datetime(2019,1,1, 0,0,0)聲明的一個對象是沒有時區(qū)信息的,每一個datetime對象都有一個tzinfo的屬性,而剛剛生成的這個對象的tzinfo是None。如果要聲明一個帶有時區(qū)信息的datetime對象需要先聲明一個時區(qū), 而這個時區(qū)就是一個timezone對象,可以通過timedelta來完成構造
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
而當我們替換時區(qū)時,默認的python包并不會自動轉換
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
感謝各位的閱讀!關于datetime在python3時間中特殊使用的示例就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!