在python中将字符串转换为datetime并与当前时间进行比较

时间:2012-04-20 00:14:17

标签: python datetime date

我正在尝试使用以下格式转换字符串:

Apr 18 17:19:42

到日期时间,以便我可以将当​​前时间与该时间进行比较,看看它们是否已经关闭了一分钟。我该怎么做?

2 个答案:

答案 0 :(得分:4)

正如S1R已经指出的那样,strptime方法就是你想要的。您还需要指定年份,因为它未包含在您的日期字符串中:

>>> import datetime
>>> s = "Apr 18 17:19:42"
>>> t = datetime.datetime.strptime(s, "%b %d %H:%M:%S")
>>> t
datetime.datetime(1900, 4, 18, 17, 19, 42)
>>> t = t.replace(year = 2012)
>>> n = datetime.datetime.now()
>>> n
datetime.datetime(2012, 4, 20, 10, 21, 42, 165657)
>>> d = n-t
>>> d.total_seconds()
147720.165657

答案 1 :(得分:3)

strptime是您需要的,它用于将字符串更改为日期时间

所以在你的情况下它会是;

from datetime import datetime
todaysdate = datetime.strptime('Apr 18 17:19:42', '%b %d %H:%M:%S')