1.python常用的時間崎苗,時區(qū)庫及其用法
2.Etc/GMT+8 是UTC時區(qū)-8的偏移量
3.Asia/Shanghai和GMT+8的區(qū)別----
python常用的時間狐粱,時區(qū)庫
常用的庫有time舀寓, datetime, dateutil肌蜻, pytz等
time的tzset()方法:根據(jù)環(huán)境變量TZ重新初始化時間相關設置
import time
import os
local_time = time.strftime("%Y-%m-%d %H:%M:%S")
print local_time
os.environ['TZ'] = 'Etc/GMT-6'
time.tzset()
tz_time = time.strftime("%Y-%m-%d %H:%M:%S")
print tz_time
控制臺上的打印為
2020-11-21 14:29:25 # local_time打印出了當前時間
2020-11-21 12:29:25 # os.environ['TZ']設置了時區(qū)是東6區(qū)互墓,北京是東8區(qū),所以tz_time會比現(xiàn)在的是時間落后2h
直接打印該函數(shù)是沒有返回值蒋搜。所以這個函數(shù)是結合環(huán)境變量去修改時區(qū)的篡撵。
datetime
astimezone,replace等用法
參考下https://blog.csdn.net/weixin_42146296/article/details/93764817里面寫的很詳細
pytz:
pytz模塊常用于時區(qū)的轉換豆挽,常常配合datetime一起使用
pytz.all_timezones_set育谬,返回所有支持的時區(qū)的集合
pytz.country_names,返回常用時區(qū)的列表和集合
pytz.country_names帮哈,返回國家(地區(qū))ISO Alpha-2代碼作為鍵
Etc/GMT+8 是UTC時區(qū)-8的偏移量膛檀,
正常的,我們認為UTC(向東)之前的偏移為正娘侍,UTC(向西)之后的偏移為負宿刮。北京時區(qū)(東8區(qū))是比UTC提前8小時。
有一些例外私蕾。該Etc/GMT…
名攜帶相反的加/減約定:
-
Etc/GMT+1
=-01:00
偏移量=比UTC晚一小時 -
Etc/GMT+12
=-12:00
偏移量= 12小時后面UTC
…和…
-
Etc/GMT-1
=+01:00
偏移量=比UTC提前一小時 -
Etc/GMT-12
=+12:00
偏移量= UTC提前十二小時
所以想要用北京時區(qū)的話得用Etc/GMT-1
Asia/Shanghai和GMT+8的區(qū)別
因為之前區(qū)別冬令時和夏令時僵缺,在1986-1991年夏令時。夏天和冬天差1個小時踩叭,后面廢棄了令時磕潮,Asia/Shanghai會兼容這個時間段。
參考:
https://www.w3cschool.cn/python/att-time-tzset.html
https://blog.csdn.net/weixin_42146296/article/details/93764817
https://www.liaoxuefeng.com/wiki/1016959663602400/1017648783851616
https://blog.csdn.net/zjy_love_java/article/details/107704594
https://stackoverflow.com/questions/7303580/understanding-the-etc-gmt-time-zone