我需要增加日期时间值的月份
next_month = datetime.datetime(mydate.year, mydate.month+1, 1)
当月份为 12 时,它变为 13 并引发错误“月份必须在 1..12 中”。 (我预计年份会增加)
我想使用 timedelta,但不需要 month 参数。有 relativedelta python 包,但我不想只为此安装它。还有一个使用 strtotime 的解决方案。
time = strtotime(str(mydate));
next_month = date("Y-m-d", strtotime("+1 month", time));
我不想从 datetime 转换为 str,然后转换为 time,然后再转换为 datetime;因此,它仍然是一个图书馆
有没有人有像使用 timedelta 一样好的 简单 解决方案?
原文由 jargalan 发布,翻译遵循 CC BY-SA 4.0 许可协议
编辑-如果下个月的天数较少,则根据您对需要四舍五入的日期的评论,这是一个解决方案:
正在使用:
此外,如果您不担心小时、分钟和秒,您可以使用
date
而不是datetime
。如果您担心小时、分钟和秒,您需要修改我的代码以使用datetime
并将小时、分钟和秒从源复制到结果。