将一个isoformat字符串转换为Python的datetime对象

8 浏览
0 Comments

将一个isoformat字符串转换为Python的datetime对象

可能重复:
\n如何在Python中解析ISO格式的日期? \n我有一个iso格式的日期时间作为字符串,例如下面的示例 - \n\'2011-05-31T04:35:33.127-05:00\'\n最好的方法是将其转换为Python的datetime对象吗?我看到一些帖子告诉如何获得iso格式的字符串,但没有反过来的方法。\n谢谢!!\n根据Yan的评论进行编辑-\n

>>>import dateutil.parser
>>> d1='2011-05-31T04:35:33.127-05:00'
>>> d2=dateutil.parser.parse(d1)
>>> d2
datetime.datetime(2011, 5, 31, 4, 35, 33, 127000, tzinfo=tzoffset(None, -18000))

\n我需要获取原始字符串表示的本地时间的datetime对象。由于我不知道输入日期所在的时区,我不能使用astimezon方法。怎样才能最好地实现这一点?\n谢谢!!

0
0 Comments

问题出现的原因是isoformat日期字符串无法正确地使用datetime.datetime.strptime函数转换为Python的datetime对象。原帖中提到了想要类似于dateutil解析器的功能,以及是否有一种方法可以使用tzoffset获取本地时间。

解决方法是使用dateutil.parser.parse函数来解析isoformat日期字符串,并将其转换为Python的datetime对象。以下是解决方法的代码示例:

from dateutil import parser
isoformat_str = "2022-01-01T00:00:00"
datetime_obj = parser.parse(isoformat_str)
print(datetime_obj)

这样,isoformat日期字符串就可以成功地转换为Python的datetime对象了。

0