美文网首页
python 本周,本季度,本月,时间范围获取

python 本周,本季度,本月,时间范围获取

作者: 一只老梨花 | 来源:发表于2019-12-30 15:55 被阅读0次
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Date    : 2019-12-13 17:35:19
    # @Author  : zhuhua 
    import arrow
    
    class DateUtils(object):
        """docstring for ClassName"""
        def __init__(self):
            self.now = arrow.utcnow().to("local")
            self.name2time = dict(
                昨天=lambda: self.get_yesterday_start_end(),
                今天=lambda: self.get_today_start_end(),
                本周=lambda: self.get_week_start_end(),
                上周=lambda: self.get_last_week_start_end(),
                本月=lambda: self.get_month_start_end(),
                上月=lambda: self.get_last_month_start_end(),
                本季度=lambda: self.get_quarter_start_end(),
                今年=lambda: self.get_year_start_end(),
            )
    
    
        def get_today_start_end(self):
            return self.now.floor("day").datetime, self.now.ceil("day").datetime
    
        def get_yesterday_start_end(self):
            yesterday = self.now.shift(days=-1)
            return yesterday.floor("day").datetime, yesterday.ceil("day").datetime
    
        def get_week_start_end(self):
            return self.now.floor("week").datetime, self.now.ceil("week").datetime
    
        def get_last_week_start_end(self):
            last_week = self.now.shift(weeks=-1)
            return last_week.floor("week").datetime, last_week.ceil("week").datetime
    
        def get_month_start_end(self):
            return self.now.floor("month").datetime, self.now.ceil("month").datetime
    
        def get_last_month_start_end(self):
            last_month = self.now.shift(months=-1)
            return last_month.floor("month").datetime, last_month.ceil("month").datetime
    
        def get_quarter_start_end(self):
            return self.now.floor("quarter").datetime, self.now.ceil("quarter").datetime
    
        def get_year_start_end(self):
            return self.now.floor("year").datetime, self.now.ceil("year").datetime
    
    
    if __name__ == '__main__':
        bb=DateUtils()
        print(bb.name2time.get("昨天")())
    

    相关文章

      网友评论

          本文标题:python 本周,本季度,本月,时间范围获取

          本文链接:https://www.haomeiwen.com/subject/tnjmoctx.html