将日期与 python 中的当前日期进行比较
Compare date with current date in python
如何比较这种格式的日期时间对象
"Thu, 15 Jan 2015 06:35:37 GMT" 与当前时间 ?
最简单的方法是使用 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()
,但您必须准确指定日期字符串,这非常麻烦。在这种情况下请参阅标准库文档。
您可以使用 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
>>>
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
如何比较这种格式的日期时间对象
"Thu, 15 Jan 2015 06:35:37 GMT" 与当前时间 ?
最简单的方法是使用 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()
,但您必须准确指定日期字符串,这非常麻烦。在这种情况下请参阅标准库文档。
您可以使用 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
>>>
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