python获取指定日期范围内的每一天,每个月,每季度的方法


Posted in Python onAugust 08, 2019

1.获取所有天,返回一个列表:

def getBetweenDay(begin_date):
  date_list = []
  begin_date = datetime.datetime.strptime(begin_date, "%Y-%m-%d")
  end_date = datetime.datetime.strptime(time.strftime('%Y-%m-%d',time.localtime(time.time())), "%Y-%m-%d")
  while begin_date <= end_date:
    date_str = begin_date.strftime("%Y-%m-%d")
    date_list.append(date_str)
    begin_date += datetime.timedelta(days=1)
  return date_list

2.获取所有月,返回一个列表:

def getBetweenMonth(begin_date):
  date_list = []
  begin_date = datetime.datetime.strptime(begin_date, "%Y-%m-%d")
  end_date = datetime.datetime.strptime(time.strftime('%Y-%m-%d', time.localtime(time.time())), "%Y-%m-%d")
  while begin_date <= end_date:
    date_str = begin_date.strftime("%Y%m")
    date_list.append(date_str)
    begin_date = add_months(begin_date,1)
  return date_list
 
def add_months(dt,months):
  month = dt.month - 1 + months
  year = dt.year + month / 12
  month = month % 12 + 1
  day = min(dt.day, calendar.monthrange(year, month)[1])
  return dt.replace(year=year, month=month, day=day)

3.获取所有季度,返回一个列表:

def getBetweenMonth(begin_date):
  date_list = []
  begin_date = datetime.datetime.strptime(begin_date, "%Y-%m-%d")
  end_date = datetime.datetime.strptime(time.strftime('%Y-%m-%d', time.localtime(time.time())), "%Y-%m-%d")
  while begin_date <= end_date:
    date_str = begin_date.strftime("%Y-%m")
    date_list.append(date_str)
    begin_date = add_months(begin_date,1)
  return date_list
 
def add_months(dt,months):
  month = dt.month - 1 + months
  year = dt.year + month / 12
  month = month % 12 + 1
  day = min(dt.day, calendar.monthrange(year, month)[1])
  return dt.replace(year=year, month=month, day=day)
 
def getBetweenQuarter(begin_date):
  quarter_list = []
  month_list = getBetweenMonth(begin_date)
  for value in month_list:
    tempvalue = value.split("-")
    if tempvalue[1] in ['01','02','03']:
      quarter_list.append(tempvalue[0] + "Q1")
    elif tempvalue[1] in ['04','05','06']:
      quarter_list.append(tempvalue[0] + "Q2")
    elif tempvalue[1] in ['07', '08', '09']:
      quarter_list.append(tempvalue[0] + "Q3")
    elif tempvalue[1] in ['10', '11', '12']:
      quarter_list.append(tempvalue[0] + "Q4")
  quarter_set = set(quarter_list)
  quarter_list = list(quarter_set)
  quarter_list.sort()
  return quarter_list

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中title()方法的使用简介
May 20 Python
Python学习小技巧之列表项的推导式与过滤操作
May 20 Python
Python实现的简单模板引擎功能示例
Sep 02 Python
python装饰器实例大详解
Oct 25 Python
Python之时间和日期使用小结
Feb 14 Python
详解Python正则表达式re模块
Mar 19 Python
Python使用统计函数绘制简单图形实例代码
May 15 Python
Django框架首页和登录页分离操作示例
May 28 Python
使用Fabric自动化部署Django项目的实现
Sep 27 Python
解决pycharm安装第三方库失败的问题
May 09 Python
使用matlab 判断两个矩阵是否相等的实例
May 11 Python
Python中快速掌握Data Frame的常用操作
Mar 31 Python
Python 调用 Outlook 发送邮件过程解析
Aug 08 #Python
python判断自身是否正在运行的方法
Aug 08 #Python
Python 日期区间处理 (本周本月上周上月...)
Aug 08 #Python
python各类经纬度转换的实例代码
Aug 08 #Python
Python3.0 实现决策树算法的流程
Aug 08 #Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
Aug 08 #Python
Django rest framework jwt的使用方法详解
Aug 08 #Python
You might like
php基于自定义函数记录log日志方法
2017/07/21 PHP
YII框架行为behaviors用法示例
2019/04/26 PHP
玩转jQuery按钮 请告诉我你最喜欢哪些?
2012/01/08 Javascript
jQuery拖拽div实现思路
2014/02/19 Javascript
在Node.js中实现文件复制的方法和实例
2014/06/05 Javascript
js+html5实现canvas绘制圆形图案的方法
2015/06/05 Javascript
在网页中插入百度地图的步骤详解
2016/12/02 Javascript
Javascript blur与click冲突解决办法
2017/01/09 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
2017/02/05 Javascript
Node.js利用断言模块assert进行单元测试的方法
2017/09/28 Javascript
vue 实现走马灯效果
2019/10/28 Javascript
JS动态图片的实现方法完整示例
2020/01/13 Javascript
js实现点赞效果
2020/03/16 Javascript
JS对象属性的检测与获取操作实例分析
2020/03/17 Javascript
如何在vue中使用kindeditor富文本编辑器
2020/12/19 Vue.js
Python 网络编程起步(Socket发送消息)
2008/09/06 Python
Python自定义函数的创建、调用和函数的参数详解
2014/03/11 Python
Python的Twisted框架上手前所必须了解的异步编程思想
2016/05/25 Python
python中pandas.DataFrame排除特定行方法示例
2017/03/12 Python
python3.4爬虫demo
2019/01/22 Python
Python弹出输入框并获取输入值的实例
2019/06/18 Python
Python实用工具FuckIt.py介绍
2019/07/02 Python
关于Tensorflow分布式并行策略
2020/02/03 Python
python编程进阶之异常处理用法实例分析
2020/02/21 Python
使用openCV去除文字中乱入的线条实例
2020/06/02 Python
荷兰美妆护肤品海淘网站:Beautinow(中文)
2020/11/22 全球购物
银行实习自我鉴定
2013/10/12 职场文书
热爱祖国演讲稿
2014/05/04 职场文书
小学生2014国庆节演讲稿:祖国在我心中
2014/09/21 职场文书
杭州黄龙洞导游词
2015/02/10 职场文书
活动总结书怎么写
2015/05/11 职场文书
小学班级口号大全
2015/12/25 职场文书
MySQL中你可能忽略的COLLATION实例详解
2021/05/12 MySQL
Python人工智能之混合高斯模型运动目标检测详解分析
2021/11/07 Python
Go语言grpc和protobuf
2022/04/13 Golang
Android Studio实现简易进制转换计算器
2022/05/20 Java/Android