Python:如何将字符串转换为datetim

2024-09-27 21:26:56 发布

您现在位置:Python中文网/ 问答频道 /正文

Possible Duplicate:
Converting string into datetime

我正在分析一个XML文件,该文件为我提供了相应的isoformat格式的时间:

tc1 = 2012-09-28T16:41:12.9976565
tc2 = 2012-09-28T23:57:44.6636597

但是当我从XML文件中检索它时,它被视为一个字符串。 我有两个这样的时间值,我需要做一个两者之间的差异,以便找到delta。 但因为它是一个字符串,所以我不能直接执行tc2-tc1。但是,既然它们已经在datetime的isoformat中了,那么如何让python将其识别为datetime呢?

谢谢。


Tags: 文件字符串datetimestring格式时间xml差异
3条回答

您可以使用python-dateutil ^{} function,它比strtime更灵活。希望这对你有帮助。

使用^{}方法:

import datetime
datetime.datetime.strptime(your_string, "%Y-%m-%dT%H:%M:%S.%f")

提供的链接显示不同的格式指令。注意,微秒限制在[0,999999]范围内,这意味着示例将引发ValueError(您使用的是1/10us):您需要截断字符串以删除最后一个字符。

使用^{} module

td = datetime.strptime('2012-09-28T16:41:12.997656', '%Y-%m-%dT%H:%M:%S.%f') - 
     datetime.strptime('2012-09-28T23:57:44.663659', '%Y-%m-%dT%H:%M:%S.%f')
print td
# => datetime.timedelta(-1, 60208, 333997)

只有一个小问题:您的微秒是一位数,需要%f来处理。所以我已经从你的输入字符串中删除了最后的数字。

相关问题 更多 >

    热门问题