python-1:时区常见的用法总结

1.python常用的时间,时区库及其用法
2.Etc/GMT+8 是UTC时区-8的偏移量
3.Asia/Shanghai和GMT+8的区别----

python常用的时间,时区库

常用的库有time, datetime, dateutil, pytz等
time的tzset()方法:根据环境变量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']设置了时区是东6区,北京是东8区,所以tz_time会比现在的是时间落后2h

直接打印该函数是没有返回值。所以这个函数是结合环境变量去修改时区的。

datetime
astimezone,replace等用法
参考下https://blog.csdn.net/weixin_42146296/article/details/93764817里面写的很详细

pytz:
pytz模块常用于时区的转换,常常配合datetime一起使用
pytz.all_timezones_set,返回所有支持的时区的集合
pytz.country_names,返回常用时区的列表和集合
pytz.country_names,返回国家(地区)ISO Alpha-2代码作为键

Etc/GMT+8 是UTC时区-8的偏移量,

正常的,我们认为UTC(向东)之前的偏移为正,UTC(向西)之后的偏移为负。北京时区(东8区)是比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提前十二小时
    所以想要用北京时区的话得用Etc/GMT-1

Asia/Shanghai和GMT+8的区别

因为之前区别冬令时和夏令时,在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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容