ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python获取上月、当月、下月的开始和结束日期

2022-05-17 17:01:01  阅读:429  来源: 互联网

标签:-% python month 日期 当月 year date datetime today


获取上月开始结束日期

方法一

import datetime
import calendar


def get_date_of_last_month():
    """
    获取上月开始结束日期
    :return: str,date tuple
    """
    today = datetime.date.today()
    today = datetime.date(2022, 1, 1)
    year = today.year
    month = today.month
    if month == 1:
        year -= 1
        month = 12
    else:
        month -= 1

    begin_of_last_month = datetime.date(year, month, 1).strftime('%Y-%m-%d')
    _, day = calendar.monthrange(year, month)
    end_of_last_month = datetime.date(year, month, day).strftime('%Y-%m-%d')
    return begin_of_last_month, end_of_last_month

方法二

import datetime


def get_date_of_last_month():
    """
    获取上月开始结束日期
    :return: str,date tuple
    """
    today = datetime.date.today()
    year = today.year
    month = today.month
    if month == 1:
        begin_of_last_month = datetime.date(year - 1, 12, 1).strftime('%Y-%m-%d')
    else:
        begin_of_last_month = datetime.date(year, month - 1, 1).strftime('%Y-%m-%d')
    end_of_last_month = (datetime.date(year, month, 1) + datetime.timedelta(-1)).strftime('%Y-%m-%d')
    return begin_of_last_month, end_of_last_month

获取当月开始结束日期

import datetime
import calendar


def get_date_of_month():
    """
    获取当月开始结束日期
    :return: str,date tuple
    """
    today = datetime.date.today()
    year = today.year
    month = today.month
    begin_of_month = datetime.date(year, month, 1).strftime('%Y-%m-%d')
    _, day = calendar.monthrange(year, month)
    end_of_month = datetime.date(year, month, day).strftime('%Y-%m-%d')
    return begin_of_month, end_of_month

获取下月开始结束日期

import datetime  
import calendar  
  
  
def get_date_of_next_month():  
    """  
    获取下月开始结束日期  
    :return: str,date tuple  
    """
    today = datetime.date.today()  
    year = today.year  
    month = today.month  
    if month == 12:  
        year += 1  
        month = 1  
    else:  
        month += 1  
  
    begin_of_next_month = datetime.date(year, month, 1).strftime('%Y-%m-%d')  
    _, day = calendar.monthrange(year, month)  
    end_of_next_month = datetime.date(year, month, day).strftime('%Y-%m-%d')  
    return begin_of_next_month, end_of_next_month

标签:-%,python,month,日期,当月,year,date,datetime,today
来源: https://www.cnblogs.com/rong-z/p/16281492.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有