根据日期获取日期所在月的第一天和最后一天

352 阅读1分钟
import calendar
 
 
def get_current_month_start_and_end(date):
    """
    年份 date格式: 2017-09-08
    给定一个日期,输出日期所在月的第一天0点和最后一天23点
    :return: 本月第一天日期和本月最后一天日期
    """
    if date.count('-') != 2:
        raise ValueError('- is error')
    year, month = str(date).split('-')[0], str(date).split('-')[1]
    end = calendar.monthrange(int(year), int(month))[1]
    start_date = '%s-%s-01 00:00:00' % (year, month)
    end_date = '%s-%s-%s 23:59:59' % (year, month, end)
    return start_date, end_date
 
 
if __name__ == "__main__":
    pass
    print(get_current_month_start_and_end("2020-10-22"))