1

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

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

4

3 回答 3

1

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

>>> 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
>>> 
于 2015-01-16T07:37:13.667 回答
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(),但您必须准确指定日期字符串,这非常繁琐。在这种情况下,请参阅标准库文档。

于 2015-01-16T07:34:18.883 回答
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
于 2015-01-16T10:14:55.493 回答