Python获取指定月份的最后一天的截止时间,精确到秒

2022-05-03 00:00:00 获取 精确 截止时间

这段代码用于获取指定月份的最后一天的时间,时间精确到秒,如:2022-03-31 23:59:59,传递的参数month为一个6位的数字,格式如:202203

def get_end_time_of_month(month):
    """返回月份的最后一天的的截止时间"""
    # 月份必须为6位数字
    if not isinstance(month, int):
        raise Exception("月份必须为数字")
    if len(str(month)) != 6:
        raise Exception("月份长度为6位,如:202201")
    y = int(month / 100)
    m = month % 100
    d = calendar.monthrange(y, m)[-1]
    end_time = datetime.datetime(
        year=y, month=m, day=d, hour=23, minute=59, second=59
    )
    return end_time

调用:

print(get_end_time_of_month(month=202201))

输出结果:

2022-01-31 23:59:59

代码用到了calendar模块,需要提前倒入,代码在python3.9下测试通过。

相关文章