从 Python 中的日期中减去一个月?

新手上路,请多包涵

我需要从任何日期获取上个月的第一天。我知道我可以使用 monthdelta(datetime(2010,3,30), -1) 获取上个月,但它不会返回第一天。

原文由 NineWasps 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
1 个回答

这可以通过首先计算当前月份(或任何给定日期)的第一天,然后用 datetime.timedelta(days=1) 减去它得到上个月的最后一天来完成。

为了演示,这里有一个示例代码:

 import datetime

def get_lastday(current):
    _first_day = current.replace(day=1)
    prev_month_lastday = _first_day - datetime.timedelta(days=1)
    return prev_month_lastday.replace(day=1)

原文由 mitghi 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题