You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何更高效计算当前日期至年末的剩余天数?

计算当年年末剩余天数的简洁实现

你的思路没问题,核心逻辑就是用年末日期减去当前日期来算剩余天数,这里给你两种更简洁的写法:

写法一:减少重复调用,更紧凑

可以只获取一次当前日期,避免重复调用dt.datetime.now(),代码更简洁:

import datetime as dt

today = dt.date.today()
days_left = dt.date(today.year, 12, 31) - today
# 要整数天数的话直接取days属性:days_left.days

写法二:用第三方库提升可读性(需额外安装)

如果使用python-dateutil的relativedelta,构造年末日期的逻辑更直观,但需要先安装库(执行pip install python-dateutil):

from datetime import date
from dateutil.relativedelta import relativedelta

today = date.today()
end_of_year = date(today.year, 1, 1) + relativedelta(years=1, days=-1)
days_left = end_of_year - today

关于效率

第一种写法和你原来的代码效率几乎一致,但更紧凑,少了一次datetime.now()的调用。第二种写法依赖第三方包,可读性更好,但需要额外安装,适合看重代码易读性的场景。要是不想加额外依赖,第一种写法就是最优解。

内容的提问来源于stack exchange,提问作者Zephyrus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 14:40:47