转换格式为“2012-07-24T23:14:29-”的时间戳07:00" 使用 strptime() 转换为日期时间对象可能会出现问题由于结束时的时间偏移(-07:00)。如果没有偏移量,可以按如下方式使用 strptime():
time_str = "2012-07-24T23:14:29" time_obj = datetime.datetime.strptime(time_str, '%Y-%m-%dT%H:%M:%S')
但是,由于不支持 'z' 指令,使用提供的时间偏移量会导致 ValueError。
主要有两种解决方法:
1.使用 strptime() 忽略时区:
在解析之前从时间戳中删除时区部分:
time_obj = datetime.datetime.strptime(time_str[:19], '%Y-%m-%dT%H:%M:%S')
2.使用 dateutil.parser:
dateutil 模块提供了支持时区的解析函数:
from dateutil.parser import parse time_obj = parse(time_str)
适用于 Python 3.2 及以上版本,时区支持得到了增强。 %z 将在调整格式字符串后起作用,如下所示:
time_obj = datetime.datetime.strptime(time_str, '%Y-%m-%dT%H:%M:%S%z')
以上是如何在 Python 中将带有时区偏移的时间戳转换为 DateTime 对象?的详细内容。更多信息请关注PHP中文网其他相关文章!