Python时区转换的两种方式(python 时间戳 时区)

网友投稿 1661 2022-08-30


Python时区转换的两种方式(python 时间戳 时区)

前言

最近遇到一个问题:北京时间与美国时间的转换, 按照之前的方式转换,程序一直没报什么错 但最近运行竟然出错了

我换算的是CT时间和北京时间的换算, 经过调查才知道,美国时区是分冬令时和夏令时的

之前的换算方式

美国夏令时从每年的3月第二个周日2AM(当地时间)开始,持续到11月第一个周日2AM(当地时间)结束,夏令时的时候要比冬令时少一个小时,所以我之前写这段代码的时候是在冬令时,相差14个小时,没有问题。

GetCTtime ${last_calcutation_date} evaluate (datetime.datetime.now() + datetime.timedelta(hours=-14)).strftime("%m/%d/%Y %H:%M") datetime

很不幸,现在是夏令时,那就是相差13个小时, 我算出来的就不准确了

GetCTtime ${last_calcutation_date} evaluate (datetime.datetime.now() + datetime.timedelta(hours=-13)).strftime("%m/%d/%Y %H:%M") datetime

为了避免判断是夏令时还是冬令时,我换了一种方式,直接获取该时区的具体时间,不在与北京时间进行换算

现在用的

GetCTtime ${last_calcutation_date} evaluate (datetime.datetime.now(pytz.timezone('America/Chicago'))).strftime("%m/%d/%Y %H:%M") datetime,pytz

测试

用到的Python知识点

Python库 datetime

datetime 模块是对 time 模块的一个高级封装,提供了对日期、时间、时区、时间段的操作。与 time 模块相比,datetime 模块提供的接口更直观、易用,功能也更加强大 大概有如下类

date 日期类time 时间类datetime 日期与时间类timedelta 表示两个date ,time, datetime实例之间的时间差datetime.tzinfo 时区相关信息对象的抽象基类datetime.timezone 实现tzinfo抽象基类的类,表示与UTC的固定偏移量

python库 pytz

可参考官方文档,有空就编译下

pytz.sourceforge.net/


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python使用串口通信(python发送串口数据)
下一篇:Python-字典(遍历练习题)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~