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之有容乃大的list(4)
Sep 28 Python
Python itertools模块详解
May 09 Python
Python加载带有注释的Json文件实例
May 23 Python
python: 自动安装缺失库文件的方法
Oct 22 Python
python实现flappy bird小游戏
Dec 24 Python
树莓派用python中的OpenCV输出USB摄像头画面
Jun 22 Python
树莓派采用socket方式文件传输(python)
Jun 22 Python
python 设置输出图像的像素大小方法
Jul 04 Python
pytorch masked_fill报错的解决
Feb 18 Python
解决Jupyter因卸载重装导致的问题修复
Apr 10 Python
python怎么判断素数
Jul 01 Python
用Python实现职工信息管理系统
Dec 30 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 反射机制实现动态代理的代码
2008/10/22 PHP
php下关于中英数字混排的字符串分割问题
2010/04/06 PHP
PHP代码优化之成员变量获取速度对比
2014/02/28 PHP
判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
2013/11/07 Javascript
详解JavaScript编程中正则表达式的使用
2015/10/25 Javascript
JavaScript识别网页关键字并进行描红的方法
2015/11/09 Javascript
Vue.js 父子组件通讯开发实例
2016/09/06 Javascript
老生常谈javascript变量的命名规范和注释
2016/09/29 Javascript
H5移动端适配 Flexible方案
2016/10/24 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
2016/11/25 Javascript
AngularJS自定义控件实例详解
2016/12/13 Javascript
javascript基本数据类型和转换
2017/03/17 Javascript
Vuex简单入门
2017/04/19 Javascript
AngularJS中table表格基本操作示例
2017/10/10 Javascript
ExtJs整合Echarts的示例代码
2018/02/27 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
js中怎么判断两个字符串相等的实例
2019/01/17 Javascript
基于elementUI实现图片预览组件的示例代码
2019/03/31 Javascript
javascript实现点击星星小游戏
2019/12/24 Javascript
js实现缓动动画
2020/11/25 Javascript
[46:47]2014 DOTA2国际邀请赛中国区预选赛 DT VS HGT
2014/05/22 DOTA
Python的另外几种语言实现
2015/01/29 Python
详解Django框架中的视图级缓存
2015/07/23 Python
PyQt5每天必学之创建窗口居中效果
2018/04/19 Python
python爬取足球直播吧五大联赛积分榜
2018/06/13 Python
详解Django中六个常用的自定义装饰器
2018/07/04 Python
浅谈react路由传参的几种方式
2021/03/23 Javascript
语文教育专业推荐信范文
2013/11/25 职场文书
班级安全教育实施方案
2014/02/23 职场文书
国旗下的演讲稿
2014/05/08 职场文书
保护环境建议书100字
2014/05/13 职场文书
化学专业毕业生求职信
2014/07/28 职场文书
学校运动会简讯
2015/07/20 职场文书
《清澈的湖水》教学反思
2016/02/17 职场文书
导游词之包公祠
2019/11/25 职场文书
oracle通过存储过程上传list保存功能
2021/05/12 Oracle