精华内容
下载资源
问答
  • 获取当前月、个月、下一个月、月份第一天、月份最后一天 import calendar from datetime import datetime from dateutil.relativedelta import relativedelta class DateTimeUtil(): def get_cur_month(self...

    获取当前月、上一个月、下一个月、月份第一天、月份最后一天

    import calendar
    from datetime import datetime
    from dateutil.relativedelta import relativedelta
    
    
    class DateTimeUtil():
    
        def get_cur_month(self):
            # 获取当前月
            return datetime.now().strftime("%Y-%m")
    
        def get_last_month(self, number=1):
            # 获取前几个月
            month_date = datetime.now().date() - relativedelta(months=number)
            return month_date.strftime("%Y-%m")
    
        def get_next_month(self, number=1):
            # 获取后几个月
            month_date = datetime.now().date() + relativedelta(months=number)
            return month_date.strftime("%Y-%m")
    
        def get_cur_month_start(self):
            # 获取当前月的第一天
            month_str = datetime.now().strftime('%Y-%m')
            return '{}-01'.format(month_str)
    
        def get_cur_month_end(self):
            # 获取当前月的最后一天
            '''
            param: month_str 月份,2021-04
            '''
            # return: 格式 %Y-%m-%d
    
            month_str = datetime.now().strftime('%Y-%m')
            year, month = int(month_str.split('-')[0]), int(month_str.split('-')[1])
            end = calendar.monthrange(year, month)[1]
            return '{}-{}-{}'.format(year, month, end)
    
        def get_last_month_start(self, month_str=None):
            # 获取上一个月的第一天
            '''
            param: month_str 月份,2021-04
            '''
            # return: 格式 %Y-%m-%d
            if not month_str:
                month_str = datetime.now().strftime('%Y-%m')
            year, month = int(month_str.split('-')[0]), int(month_str.split('-')[1])
            if month == 1:
                year -= 1
                month = 12
            else:
                month -= 1
            return '{}-{}-01'.format(year, month)
    
        def get_next_month_start(self, month_str=None):
            # 获取下一个月的第一天
            '''
            param: month_str 月份,2021-04
            '''
            # return: 格式 %Y-%m-%d
            if not month_str:
                month_str = datetime.now().strftime('%Y-%m')
            year, month = int(month_str.split('-')[0]), int(month_str.split('-')[1])
            if month == 12:
                year += 1
                month = 1
            else:
                month += 1
            return '{}-{}-01'.format(year, month)
    
        def get_last_month_end(self, month_str=None):
            # 获取上一个月的最后一天
            '''
            param: month_str 月份,2021-04
            '''
            # return: 格式 %Y-%m-%d
            if not month_str:
                month_str = datetime.now().strftime('%Y-%m')
            year, month = int(month_str.split('-')[0]), int(month_str.split('-')[1])
            if month == 1:
                year -= 1
                month = 12
            else:
                month -= 1
            end = calendar.monthrange(year, month)[1]
            return '{}-{}-{}'.format(year, month, end)
    
        def get_next_month_end(self, month_str=None):
            # 获取下一个月的最后一天
            '''
            param: month_str 月份,2021-04
            '''
            # return: 格式 %Y-%m-%d
            if not month_str:
                month_str = datetime.now().strftime('%Y-%m')
            year, month = int(month_str.split('-')[0]), int(month_str.split('-')[1])
            if month == 12:
                year += 1
                month = 1
            else:
                month += 1
            end = calendar.monthrange(year, month)[1]
            return '{}-{}-{}'.format(year, month, end)
    
    
    
    if __name__ == '__main__':
        # 获取当前月
        print('当前月', DateTimeUtil().get_cur_month())
        # 获取上一个月
        print('上一个月', DateTimeUtil().get_last_month())
        # 获取上两个月
        print('上两个月', DateTimeUtil().get_last_month(number=2))
        # 获取下一个月
        print('下一个月', DateTimeUtil().get_next_month())
        # 获取下两个月
        print('下两个月', DateTimeUtil().get_next_month(number=2))
        # 获取当前月的第一天
        print('当前月的第一天', DateTimeUtil().get_cur_month_start())
        # 获取当前月的最后一天
        print('当前月的最后一天', DateTimeUtil().get_cur_month_end())
        # 获取上个月的第一天
        print('上个月的第一天', DateTimeUtil().get_last_month_start())
        # 获取下个月的第一天
        print('下个月的第一天', DateTimeUtil().get_next_month_start())
        # 获取上个月的最后一天
        print('上个月的最后一天', DateTimeUtil().get_last_month_end())
        # 获取下个月的最后一天
        print('下个月的最后一天', DateTimeUtil().get_next_month_end())
    

    输出:
    当前月 2021-04
    上一个月 2021-03
    上两个月 2021-02
    下一个月 2021-05
    下两个月 2021-06
    当前月的第一天 2021-04-01
    当前月的最后一天 2021-4-30
    上个月的第一天 2021-3-01
    下个月的第一天 2021-5-01
    上个月的最后一天 2021-3-31
    下个月的最后一天 2021-5-31

    后记
    【后记】为了让大家能够轻松学编程,我创建了一个公众号【轻松学编程】,里面有让你快速学会编程的文章,当然也有一些干货提高你的编程水平,也有一些编程项目适合做一些课程设计等课题。

    也可加我微信【1257309054】,拉你进群,大家一起交流学习。
    如果文章对您有帮助,请我喝杯咖啡吧!

    公众号
    在这里插入图片描述

    展开全文
  • 获取前一个月的时间,方法实现:首先datetime.datetime.now获取当前时间,然后通过datetime.timedelta获取上个月最后一天的datetime对象dayto,最后用dayto的数据初始化这个月的第一个天和最后一天的...

    python获取当前时间的前一天,前一周,前一个月。

    实用python的datetime.timedelta方法,避免了有的月份是30和31等不同的情况。

    获取前一个月的时间,方法实现:首先datetime.datetime.now获取当前时间,然后通过datetime.timedelta获取上一个月最后一天的datetime对象dayto,最后用dayto的数据初始化这个月的第一个天和最后一天的datetime对象。

    import datetime
    
    d = datetime.datetime.now()
    
    def day_get(d):
        oneday = datetime.timedelta(days=1)
        day = d - oneday
        date_from = datetime.datetime(day.year, day.month, day.day, 0, 0, 0)
        date_to = datetime.datetime(day.year, day.month, day.day, 23, 59, 59)
        print '---'.join([str(date_from), str(date_to)])
    
    def week_get(d):
        dayscount = datetime.timedelta(days=d.isoweekday())
        dayto = d - dayscount
        sixdays = datetime.timedelta(days=6)
        dayfrom = dayto - sixdays
        date_from = datetime.datetime(dayfrom.year, dayfrom.month, dayfrom.day, 0, 0, 0)
        date_to = datetime.datetime(dayto.year, dayto.month, dayto.day, 23, 59, 59)
        print '---'.join([str(date_from), str(date_to)])
    
    def month_get(d):
        """    
        返回上个月第一个天和最后一天的日期时间
        :return
        date_from: 2016-01-01 00:00:00
        date_to: 2016-01-31 23:59:59
        """
        dayscount = datetime.timedelta(days=d.day)
        dayto = d - dayscount
        date_from = datetime.datetime(dayto.year, dayto.month, 1, 0, 0, 0)
        date_to = datetime.datetime(dayto.year, dayto.month, dayto.day, 23, 59, 59)
        print '---'.join([str(date_from), str(date_to)])
        return date_from, date_to

    参考:

    展开全文
  • 实用python的datetime.timedelta方法,避免了有的月份是30和31...获取前一个月的时间,方法实现:首先datetime.datetime.now获取当前时间,然后通过datetime.timedelta获取上个月最后一天的datetime对象dayto,最...

    转自:https://www.oschina.net/code/snippet_736230_26816


    实用python的datetime.timedelta方法,避免了有的月份是30和31等不同的情况。

    获取前一个月的时间,方法实现:首先datetime.datetime.now获取当前时间,然后通过datetime.timedelta获取上一个月最后一天的datetime对象dayto,最后用dayto的数据初始化这个月的第一个天和最后一天的datetime对象。

    import datetime
    
    d = datetime.datetime.now()
    
    def day_get(d):
        oneday = datetime.timedelta(days=1)
        day = d - oneday
        date_from = datetime.datetime(day.year, day.month, day.day, 0, 0, 0)
        date_to = datetime.datetime(day.year, day.month, day.day, 23, 59, 59)
        print '---'.join([str(date_from), str(date_to)])
    
    def week_get(d):
        dayscount = datetime.timedelta(days=d.isoweekday())
        dayto = d - dayscount
        sixdays = datetime.timedelta(days=6)
        dayfrom = dayto - sixdays
        date_from = datetime.datetime(dayfrom.year, dayfrom.month, dayfrom.day, 0, 0, 0)
        date_to = datetime.datetime(dayto.year, dayto.month, dayto.day, 23, 59, 59)
        print '---'.join([str(date_from), str(date_to)])
    
    def month_get(d):
        """    
        返回上个月第一个天和最后一天的日期时间
        :return
        date_from: 2016-01-01 00:00:00
        date_to: 2016-01-31 23:59:59
        """
        dayscount = datetime.timedelta(days=d.day)
        dayto = d - dayscount
        date_from = datetime.datetime(dayto.year, dayto.month, 1, 0, 0, 0)
        date_to = datetime.datetime(dayto.year, dayto.month, dayto.day, 23, 59, 59)
        print '---'.join([str(date_from), str(date_to)])
        return date_from, date_to
    
    展开全文
  • import calendar ...第一个元素,数字0是这个月的第一天是星期天(个月最后一天为星期几(0-6)),星期天为0; 第二个元素,数字31是这个月的天数; 转载于:https://www.cnblogs.com/baxianhua/p/9...
    import calendar
    monthRange = calendar.monthrange(2018, 10)
    (0, 31)
    

     

    输出的是一个元组;
    第一个元素,数字0是这个月的第一天是星期天(上一个月的最后一天为星期几(0-6),星期天为0;
    第二个元素,数字31是这个月的天数;

    转载于:https://www.cnblogs.com/baxianhua/p/9930374.html

    展开全文
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 由于项目的运营报表有新需求,而且之间一直用node.js来做,在操作数据库不是很方便。所以现在我转成了用python来做运行报表,跟node....2.通过某一的第一天和最后一天的日期,获取这一到目前每第一天和最后一天
  • 有一个统计报表需求,需要知道上个月的第一天和最后一天,来进行上个月的数据统计。 二、代码实现 #!/usr/bin/env python3 # coding: utf-8 import calendar def get_current_month_start_and_end(date): """ ...
  • 在最新的迭代中,Twitter允许一个月的时间重载数据。 在长达28-31的时间段内,脚本会将报告的下载分为多个请求。 这样做是为了让我们能够获取每条推文的展示数据,因为没有专门针对这些指标的API端点(截至今天...
  • Python时间函数

    2015-09-30 09:33:08
    1.获取当前时间的两种方法: import datetime,time now = time.strftime("%Y-%m-%d %H:%M:%S") print now ...2.获取上个月最后一天的日期(本月的第一天减去1天) last = datetime.date(dateti
  • python时间处理

    2015-06-23 13:54:00
    1.获取当前时间的两种方法: import datetime,time now = time.strftime("%Y-%m-%d %H:%M:%S") ...2.获取上个月最后一天的日期(本月的第一天减去1天) last = datetime.date(datetime.dat...
  • python时间处理详解

    2019-06-10 15:53:43
    1.获取当前时间的两种方法:  import datetime,time  now = time.strftime(%Y-%m-%d %H:%M:%S)  print now ...获取上个月最后一天的日期(本月的第一天减去1天)  last = datetime.date(da...
  • python中时间模块常见用法

    千次阅读 2020-09-02 18:54:59
    python中时间模块常见用法date获取时间戳格式化日期python中时间日期格式化符号:datetimedate类date对象中包含的方法与属性time类datetime类获取当前日期时间获取上个月第一天和最后一天的日期计算当前时间向后8个...
  • python time相关操作

    2019-08-02 06:48:06
    1.获取当前时间的两种方法: 代码如下: import datetime,timenow = time.strftime("%Y-%m-%d %H:%M:%S")print...2.获取上个月最后一天的日期(本月的第一天减去1天) 复制代码代码如下: last = datetime.date(da...
  • python 时间格式 time datetime的用法打印可直接查看的时间格式往前获取时间前一小时前一天上周日上周一上个月最后一天上个月第一天获取代码的执行时间时间字符串转时间戳,时间戳转时间字符串,datetime对象转...
  • python中关于时间和日期函数有time和datatime   1.获取当前时间的两种方法: import datetime,time now = time.strftime("%Y-%m-%d %H:%M:%S") print now ...2.获取上个月最后一天
  • 1.获取当前时间的两种方法:import datetime,timenow = time.strftime("%Y-%m-%d %H:%M:%S"...获取上个月最后一天的日期(本月的第一天减去1天)last = datetime.date(datetime.date.today()....
  • 1.获取当前时间的两种方法: 代码如下: import datetime,timenow = time.strftime("%Y-%m-%d %H:%M:%S")print nownow...2.获取上个月最后一天的日期(本月的第一天减去1天) 代码如下: last = datetime.date(datetime...
  • python中关于时间和日期函数有time和datatime   1.获取当前时间的两种方法: import datetime,time now = time.strftime("%Y-%m-%d %H:%M:%S") ...2.获取上个月最后一天的日期(本月的第一天减去1天)
  • python中关于时间和日期函数有time和datatime 1.获取当前时间的两种方法: import datetime,time now = time.strftime("%Y-%m-%d %H:%M:%S") print now now = datetime.datetime....2.获取上个月最后一天的日期(本...

空空如也

空空如也

1 2 3 4
收藏数 64
精华内容 25
关键字:

python获取上个月最后一天

python 订阅