0

我有一个名为 datetime 的对象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.

任何帮助表示赞赏。

4

2 回答 2

3

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

YEAR_SECONDS = 60 * 60 * 24 * 365
dt + relativedelta(seconds = int(0.93 * YEAR_SECONDS))
于 2019-06-05T03:07:43.143 回答
1

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

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

输出:-

2020-05-09 08:40:28.507170

笔记:-

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

于 2019-06-05T03:15:29.057 回答