将一个isoformat字符串转换为Python的datetime对象
将一个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谢谢!!
问题出现的原因是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对象了。