计算未来或过去的日期

Python:
计算未来或过去的日期

如何做:

from datetime import datetime, timedelta

# 当前日期
now = datetime.now()
print("现在:", now.strftime("%Y-%m-%d"))

# 10天后的日期
future_date = now + timedelta(days=10)
print("未来10天:", future_date.strftime("%Y-%m-%d"))

# 10天前的日期
past_date = now - timedelta(days=10)
print("过去10天:", past_date.strftime("%Y-%m-%d"))

输出样例:

现在: 2023-03-25
未来10天: 2023-04-04
过去10天: 2023-03-15

深入探索

在Python早期版本中,处理日期通常更复杂,需要手动管理计算和转换。随着datetimetimedelta的引入,计算未来或过去的日期变得直接且容易。

除了datetime模块,还有其他库,如dateutil,可以处理复杂的日期问题,比如重复发生的事件和节假日。此外,时间处理还必须考虑时区和夏时制的影响。

在实际应用中,比如计算与当天的用户订阅过期剩余天数,或者计算产品送达的预期日期,均需要用到这些计算未来与过去日期的技能。

参考资料