当前位置: 首页 > 工具软件 > rrule > 使用案例 >

python使用rrule计算两个特定时间的差:小时、天、月、年

楚灿
2023-12-01

示例代码

from dateutil import rrule
from datetime import datetime

from_date = datetime(2022, 1, 1)
end_date = datetime(2023, 2, 2)

diff_hour = rrule.rrule(rrule.HOURLY, dtstart=from_date, until=end_date).count()  # 相差小时数
diff_day = rrule.rrule(rrule.DAILY, dtstart=from_date, until=end_date).count()  # 相差天数
diff_month = rrule.rrule(rrule.MONTHLY, dtstart=from_date, until=end_date).count()  # 相差月数
diff_year = rrule.rrule(rrule.YEARLY, dtstart=from_date, until=end_date).count()  # 相差年数

这里需要注意的一点是,相同时间点之间的差距都是1,如下代码:

rrule.rrule(rrule.HOURLY, dtstart=from_date, until=from_date).count()  # 相差小时数: 值为1
rrule.rrule(rrule.DAILY, dtstart=from_date, until=from_date).count()  # 相差小时数: 值为1
rrule.rrule(rrule.MONTHLY, dtstart=from_date, until=from_date).count()  # 相差小时数: 值为1

而如果从时间上:dtstart>until,则值都为0

 类似资料: