如何获得距给定日期几分之一年的下一个日期?

How to get the next date which is a fraction year away from the given date?

我有一个名为 dt 的日期时间对象,我想获取距它 0.93 年的下一个日期。我正在尝试 relativedelta 但似乎该函数不能花费小数年。

dt = datetime.datetime(2012, 4, 30)
dt + relativedelta(years = 0.93)

>> ValueError: Non-integer years and months are ambiguous and not currently supported.

感谢任何帮助。

relativedelta 不支持分数。最简单的方法是将分数转换为秒并使用它。例如,

YEAR_SECONDS = 60 * 60 * 24 * 365
dt + relativedelta(seconds = int(0.93 * YEAR_SECONDS))

尝试将浮点数乘以一年中的天数。这将为您提供当前日期后 0.93 * 365 天。

dt = datetime.datetime.today() + datetime.timedelta(days=int(365*.93))

输出:-

2020-05-09 08:40:28.507170

注意:-

在上面的过程中我们是转换成int,因为需要日期。如果需要更精确的持续时间(即小时、分钟等),那么这个过程可能不是最好的。