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中正则表达式的用法实例汇总
Aug 18 Python
python获取图片颜色信息的方法
Mar 18 Python
利用Python获取赶集网招聘信息前篇
Apr 18 Python
python3 实现调用串口功能
Dec 26 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
Jan 14 Python
python+selenium定时爬取丁香园的新型冠状病毒数据并制作出类似的地图(部署到云服务器)
Feb 09 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
Feb 18 Python
python dict乱码如何解决
Jun 07 Python
Python requests模块安装及使用教程图解
Jun 30 Python
Win10下配置tensorflow-gpu的详细教程(无VS2015/2017)
Jul 14 Python
基于Python中Remove函数的用法讨论
Dec 11 Python
Python获取指定日期是"星期几"的6种方法
Mar 13 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
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
2007/01/15 PHP
Yii 访问 Gii(脚手架)时出现 403 错误
2018/06/06 PHP
PHP二维数组分页2种实现方法解析
2020/07/09 PHP
非阻塞动态加载javascript广告实现代码
2010/11/17 Javascript
jQuery使用动态渲染表单功能完成ajax文件下载
2013/01/15 Javascript
鼠标拖动实现DIV排序示例代码
2013/10/14 Javascript
Javascript实现Web颜色值转换
2015/02/05 Javascript
JS动态加载当前时间的方法
2015/02/09 Javascript
JavaScript取得WEB安全颜色列表的方法
2015/07/14 Javascript
js实现新浪微博首页效果
2015/10/16 Javascript
jQuery实现多级联动下拉列表查询框
2016/01/18 Javascript
vue2.0父子组件间通信的实现方法
2017/04/19 Javascript
AngularJS 霸道的过滤器小结
2017/04/26 Javascript
关于webpack2和模块打包的新手指南(小结)
2017/08/07 Javascript
JS鼠标3次点击事件实现代码及扩展思路
2017/09/12 Javascript
纯JS实现出生日期[年月日]下拉菜单效果
2018/06/01 Javascript
layui实现文件或图片上传记录
2018/08/28 Javascript
vue中使用cookies和crypto-js实现记住密码和加密的方法
2018/10/18 Javascript
jQuery实现表格的增、删、改操作示例
2019/01/27 jQuery
如何进行微信公众号开发的本地调试的方法
2019/06/16 Javascript
Moment.js实现多个同时倒计时
2019/08/26 Javascript
electron+vue实现div contenteditable截图功能
2020/01/07 Javascript
[44:01]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS paiN
2018/03/31 DOTA
[04:59]2018DOTA2亚洲邀请赛 4.7 Mineski夺冠时刻
2018/04/09 DOTA
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
2017/06/23 Python
Django框架模板文件使用及模板文件加载顺序分析
2019/05/23 Python
django中SMTP发送邮件配置详解
2019/07/19 Python
Python常用模块函数代码汇总解析
2020/08/31 Python
Ariat官网:美国马靴和服装品牌
2019/12/16 全球购物
个人对照检查材料
2014/02/12 职场文书
中级会计职业生涯规划书
2014/03/01 职场文书
行政专员岗位职责说明书
2014/09/01 职场文书
2014年语文教学工作总结
2014/12/17 职场文书
2019银行竞聘书
2019/06/21 职场文书
python神经网络 使用Keras构建RNN训练
2022/05/04 Python