将日期与python中的当前日期进行比较

时间:2015-01-16 06:55:49

标签: python python-2.7 datetime rfc2822

如何比较此格式的日期时间对象

“星期四,2015年1月15日06:35:37 GMT”与当前时间?

3 个答案:

答案 0 :(得分:1)

您可以使用datetime模块将日期时间字符串转换为datetimetime对象。 然后在两个日期时间对象之间获得不同。

>>> from datetime import datetime
>>> a = datetime.strptime("Thu, 15 Jan 2015 06:35:37 GMT", "%a, %d %b %Y %H:%M:%S GMT", )
>>> b = datetime.strptime("Fri, 16 Jan 2015 07:40:40 GMT", "%a, %d %b %Y %H:%M:%S GMT", )
>>> c1 = b - a 
>>> c1
datetime.timedelta(1, 3903)
>>> c1.days
1
>>> c1.total_seconds()
90303.0
>>> c1.seconds
3903
>>> 

答案 1 :(得分:0)

最简单的方法是使用dateutil包。首先安装dateutil,然后再安装:

from dateutil.parser import parse
parsed_time = parse("Thu, 15 Jan 2015 06:35:37 GMT")

然后你可以from datetime import datetime datetime.now()获得dateutil的当前时间,并且你可以根据需要比较两个日期时间对象。

如果您无法使用datetime.strptime(),您仍然可以使用{{1}}执行此操作,但是您必须准确指定日期字符串,这非常繁琐。在这种情况下,请参阅标准库文档。

答案 2 :(得分:0)

import time
from email.utils import parsedate_tz, mktime_tz

# Convert the input date string to "seconds since the epoch" (POSIX time)
timestamp = mktime_tz(parsedate_tz("Thu, 15 Jan 2015 06:35:37 GMT"))
# Compare it with the current time (ignoring leap seconds)
elapsed_seconds = time.time() - timestamp