我想两个日期之间的计算差值(单位:秒)/时间格式如下:如何找到Python中不同时区的时间差异?
2010-05-11 17点07分33秒UTC
2010-05-11 17点07分33秒EDT
time1 = '2010-05-11 17:07:33 UTC'
time2 = '2010-05-11 17:07:33 EDT'
delta = time.mktime(time.strptime(time1,"%Y-%m-%d %H:%M:%S %Z"))-\
time.mktime(time.strptime(time2, "%Y-%m-%d %H:%M:%S %Z"))
我的问题是EDT无法识别,特定错误是
ValueError: time data '2010-05-11 17:07:33 EDT' does not match format '%Y-%m-%d %H:%M:%S %Z'
您是否在寻找这个http://labix.org/python-dateutil?它可能比你在做的任何事都更简单。 – 2010-05-13 15:54:09
感谢您的答案。 但即使通过使用pytz,我仍然无法找出解析字符串'EDT'等并将其转换为pytz obj的更好方法时区可以是任何3-4字母字符串缩写,但pytz使用'US/Eastern' 。 我是否需要建立一个映射将缩写转换为'US/Eastern'格式?这听起来对我来说太过分了。 谢谢, – JasonA 2010-05-13 16:46:04
我最终建设有条目的文本文件中像下面: << EDT \t东部夏令时间(北美)\t UTC-04 >> 然后使用字符串搜索入口“EDT”从时间字符串获得 通过使用文件中的值-04,我可以使用mktime()以秒为单位获取时间差。 我仍然认为应该有一个更简单的方法来做到这一点... 谢谢, – JasonA 2010-05-13 18:47:59