#!/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 本周,本季度,本月,时间范围获取
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 开发过程中,常用日期处理函数,时间戳处理函数等,如下讲解: (年月日时分秒,“-”间隔):2017-11-04 1...
- 格式化日期:yyyy-MM-dd 获得某月的天数 获得本季度的开始月份 获得本周的开始日期 获得本周的结束日期 获...