python 获取上个月一号,前后N个月一号 的简单代码

效果如下:

代码:

def getXmonthafter(months,date_=None):
    if date_ is None:
        date_=datetime.date.today()
    yeardelta=(date_.month+months-1)//12
    newmonth=(date_.month+months-1)%12+1

    return datetime.date(date_.year+yeardelta,newmonth,1)

参考:

     https://www.cnblogs.com/symons1992/p/5944445.html

 

如有错误或不足欢迎指正

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Python中的datetime模块来获取上个月的日期。以下是一个示例代码: ```python import datetime today = datetime.date.today() first_day = today.replace(day=1) last_month = first_day - datetime.timedelta(days=1) print(last_month.strftime('%Y-%m')) ``` 这段代码首先获取当天的日期,然后将日期调整为当月的第一天。接着,通过减去一天的时间差,就可以得到上个月的最后一天。最后,使用strftime方法将上个月的年份和月份格式化为字符串进行输出。 ### 回答2: Python中可以使用`datetime`模块来获取上个月的年份和月份。 首先,我们需要将当前日期减去一个月,然后再获取年份和月份。以下是获取上个月年份和月份的示例代码: ``` from datetime import datetime, timedelta # 获取当前日期 today = datetime.now() # 计算上个月的年份和月份 last_month = today - timedelta(days=30) year = last_month.year month = last_month.month print(year, month) ``` 在这个示例中,我们使用`timedelta`对象将当前日期减去了30天,从而得到了上个月的日期。然后,我们通过`year`和`month`属性分别获取上个月的年份和月份。 运行以上代码,你将得到输出结果中的上个月的年份和月份。 上述方法也可以用于获取任意一个月份之前的月份。如果要获取更多关于`datetime`模块的详细信息,你可以查阅Python官方文档。 ### 回答3: 在Python中,我们可以使用`datetime`模块来获取上个月的日期。 首先,我们需要导入`datetime`模块: ```python import datetime ``` 然后,我们可以使用`datetime`模块中的`datetime`类来获取当前的日期和时间。通过调用`today()`方法可以获取当前日期和时间,然后使用`month`属性来获取当前月份: ```python current_date = datetime.datetime.today() current_month = current_date.month ``` 接下来,我们可以使用`timedelta`类来进行日期的计算。通过创建一个`timedelta`对象,我们可以指定需要添加或减少的时间量,然后使用`current_date`减去这个时间量可以得到上个月的日期: ```python from datetime import timedelta # 创建一个用于表示一个月时间量的timedelta对象 one_month = timedelta(days=30) # 计算上个月的日期 last_month = current_date - one_month ``` 最后,我们可以使用`strftime()`方法来格式化日期对象,以获得上个月的日期字符串。通过提供`'%Y-%m'`格式可以只获取年份和月份: ```python last_month_str = last_month.strftime("%Y-%m") ``` 这样,`last_month_str`变量就包含了上个月的年份和月份,例如:2021-09。 综上所述,以上代码演示了如何在Python获取上个月的日期。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值