首页  >  文章  >  后端开发  >  如何在 Python 中解析带有缩写时区名称的时间戳字符串?

如何在 Python 中解析带有缩写时区名称的时间戳字符串?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-24 08:59:30523浏览

How to Parse Timestamp Strings with Abbreviated Timezone Names in Python?

在 Python 中解析带有缩写时区名称的时间戳字符串

解析带有缩写时区名称的时间戳字符串在 Python 中提出了独特的挑战。内置的 dateutil 库提供了一个 parser.parse() 函数来促进时间戳解析,但它本身并不能解决时区缩写。

为了解决这个问题,一个简单有效的解决方案利用了 tzinfos 关键字参数解析器.parse()。此参数接受将时区缩写映射到相应的 GMT 偏移量(以秒为单位)的字典。

要填充 tzinfos 字典,可以手动创建或从外部源获取时区缩写和偏移量列表。建立字典后,以下代码演示如何解析时间戳字符串并检索其相应的时区:

<code class="python">import dateutil.parser as dp

s = 'Sat, 11/01/09 8:00PM'

# Create timezone abbreviation to offset dictionary
tzd = {
    'PST': -8*3600,
    'PDT': -7*3600,
    'MST': -7*3600,
    'MDT': -6*3600,
    'CST': -6*3600,
    'CDT': -5*3600,
    'EST': -5*3600,
    'EDT': -4*3600
}

for tz_code in ('PST','PDT','MST','MDT','CST','CDT','EST','EDT'):
    dt = s+' '+tz_code
    print(dt, '=', dp.parse(dt, tzinfos=tzd))</code>

此代码迭代提供的时区缩写,对于每个缩写,它解析时间戳字符串并检索显示解析后的日期时间对象以及相应的时区名称。

这种方法有效地处理带有缩写时区的时间戳字符串,可以轻松解析和解释。

以上是如何在 Python 中解析带有缩写时区名称的时间戳字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn