python3 根据时间获取本月一号和月末日期

一、概述

有一个统计报表需求,需要知道上个月的第一天和最后一天,来进行上个月的数据统计。

 

二、代码实现

复制代码
#!/usr/bin/env python3
# coding: utf-8

import calendar


def get_current_month_start_and_end(date):
    """
    年份 date(2017-09-08格式)
    :param date:
    :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' % (year, month)
    end_date = '%s-%s-%s' % (year, month, end)
    return start_date, end_date

print(get_current_month_start_and_end('2019-11-28'))
复制代码

 

执行输出:

('2019-11-01', '2019-11-30')

 

昨天日期

复制代码
#!/usr/bin/env python3
# coding: utf-8

import datetime


def get_yesterday():
    """
    获取昨天日期
    :return: 2019-11-30
    """
    now_time = datetime.datetime.now()
    yesterday = (now_time + datetime.timedelta(days=-1)).strftime("%Y-%m-%d")
    return yesterday

print(get_yesterday())
复制代码

 

执行输出:

2019-12-01

 

本文参考链接:

https://blog.csdn.net/gou_can/article/details/88052875

 

posted @   肖祥  阅读(5199)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2018-12-03 Kubernetes之YAML文件
点击右上角即可分享
微信分享提示