如何获得距给定日期几分之一年的下一个日期?
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,因为需要日期。如果需要更精确的持续时间(即小时、分钟等),那么这个过程可能不是最好的。
我有一个名为 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,因为需要日期。如果需要更精确的持续时间(即小时、分钟等),那么这个过程可能不是最好的。