如何得到下一个日期,这是一个分数年以外的给定日期?

2024-05-15 16:56:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为dt的datetime对象,我想得到距离它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.

感谢您的帮助。你知道吗


Tags: and对象函数距离datetimedtnotinteger
2条回答

尝试将float no乘以一年中的天数。这将给你0.93*365天后的当前日期。你知道吗

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

输出:-

2020-05-09 08:40:28.507170

注:-

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

relativedelta不支持分数。最简单的方法是将分数转换成秒并使用它。e、 克

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

相关问题 更多 >