我需要增加datetime值的月份
next_month = datetime.datetime(mydate.year, mydate.month+1, 1)
当月为12时,它变为13并引发错误“月必须在1..12中”。(我预计这一年会增加)
我想用timedelta,但不需要一个月的争论。 有一个relativedeltapython包,但我不想仅为此安装它。 还有一个使用strtotime的解决方案。
time = strtotime(str(mydate));
next_month = date("Y-m-d", strtotime("+1 month", time));
我不想从datetime转换成str,再转换成time,再转换成datetime;因此,它还是一个库
有没有人有像使用timedelta那样的好的和简单的解决方案?
这是我的盐:
快速简单:)
编辑-根据您对需要向下舍入的日期(如果下个月的天数较少)的评论,下面是一个解决方案:
使用中:
另外,如果您不担心小时、分钟和秒,您可以使用
date
,而不是datetime
。如果您担心几个小时、几分钟和几秒钟,则需要修改我的代码以使用datetime
,并将小时、几分钟和几秒钟从源代码复制到结果。使用dateutil's ^{} 将一个月添加到日期中是一个简短而甜蜜的方法。
输出:
一个警告词:
relativedelta(months=1)
和relativedelta(month=1)
有different meanings。通过month=1
将替换原始日期中的月份到一月,而通过months=1
将在原始日期上添加一个月。注意:这需要
python-dateutil
。要安装它,您需要在Linux终端上运行。说明:Add month value in python
相关问题 更多 >
编程相关推荐