我得到一个类似737556.5965277777
的数字。
>>> datetime.timedelta(days=737556.5965277777)
datetime.timedelta(days=737556, seconds=51539, microseconds=999996)
>>> datetime.datetime.now()
datetime.datetime(2020, 5, 11, 15, 36, 41, 711686)
如何将其与当前日期时间进行比较以检查是否晚于日期时间?获取当前时间增量并进行比较,或者先将其转换为时间戳,然后进行比较。
答案 0 :(得分:1)
一种方法是将当前日期时间转换为序数,然后将两者进行比较。如果顺序日期时间大于now()顺序日期时间,则此时间晚于该时间。
您可以使用日期时间toordinal()
from datetime import datetime as dt
dt_now = dt.now()
ordinal_date = dt_now.toordinal()
print(ordinal_date)
答案 1 :(得分:0)
顺序日期时间只是从日期0001-01-01(作为第1天)开始的几天。因此,您只需将timedelta(减去一天,以补偿0001-01-01而不是第0天)添加到该日期即可:
yourdate = datetime.datetime(1,1,1) + datetime.timedelta(days=737556.5965277777 - 1)
并将其与现在进行比较:
if yourdate > datetime.datetime.now():
请注意,yourdate.toordinal()
返回初始数字的整数部分:737556。