如何比较给定日期(字符串)是当前日期还是最后8个日期



我在一个字符串中有一个日期。我如何计算出这个日期REFRESH=("2021-11-25 00:27:23"(到最近8天的当前日期

from datetime import datetime
from datetime import timedelta
REFRESH =  ("2021-11-25 00:27:23")
today = datetime.now()
n_days_ago = today - timedelta(days=7)
print(today, n_days_ago)

我被困在这里了。

我需要数据,比如从最近8天的当前日期来看,刷新日期是否为真。"通过";

您需要将字符串转换为datetime对象才能进行比较,strptime()是一个有用的函数,它有两个参数:字符串和字符串的日期格式。

接下来使用date()函数只获取没有时间的日期,因为您要比较日期。

示例:

from datetime import datetime, timedelta
REFRESH = "2021-11-24 00:27:23"
today = datetime.today()
n_days_ago = today - timedelta(days=7)
if n_days_ago.date() == datetime.strptime(REFRESH, "%Y-%m-%d %H:%M:%S").date():
print(True)
else:
print(False)

如果您打算打印REFRESH过去的当前日期和天数,我认为这一个可以

refresh_as_datetime=datetime.strptime(REFRESH,"%Y-%m-%d %H:%M:%S")
delta = datetime.now()-refresh_as_datetime
if (delta.days>=8):
print("not matching") # Refresh date is older than 8 days
else:
print("it's matching") #  Refresh date is newer than 8 days

最新更新