在 Python 中解析带有缩写时区名称的日期/时间字符串
在 Python 中解析包含缩写时区名称的时间戳字符串是一个挑战。尽管有能力,dateutil 的 parse() 函数不会自动处理时区缩写。
为了解决这个问题,我们可以利用 dateutil 的 parser.parse() 函数,它接受 tzinfos 关键字参数。此参数需要一个字典,将缩写的时区名称映射到相应的 GMT 偏移量(以秒为单位)。
要填充此字典,我们可以手动创建常见时区及其偏移量的映射。这是一个示例:
<code class="python">tzd = { "PST": -8 * 3600, # Pacific Standard Time "PDT": -7 * 3600, # Pacific Daylight Time # ... other time zones }</code>
使用这个字典,我们可以解析带有缩写时区的时间戳字符串,如下所示:
<code class="python">import dateutil.parser as dp s = "Sat, 11/01/09 8:00PM EST" dt = dp.parse(s, tzinfos=tzd) # Result: # <datetime.datetime object at 0x7fb44dbafb90> print(dt) # Output: # 2009-11-01 20:00:00-05:00</code>
使用这种方法,我们可以解释缩写时间区域名称并准确解析不同时区的时间戳字符串。
注意:时区命名约定可能有所不同,并且某些缩写可能不明确。因此,使用此方法时必须考虑上下文以避免潜在的不准确。
以上是如何在 Python 中解析带有时区缩写的时间戳的详细内容。更多信息请关注PHP中文网其他相关文章!