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网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)
Jun 09 Python
Python深入学习之装饰器
Aug 31 Python
Python多线程实例教程
Sep 06 Python
自动化Nginx服务器的反向代理的配置方法
Jun 28 Python
解析Mac OS下部署Pyhton的Django框架项目的过程
May 03 Python
Python实现按学生年龄排序的实际问题详解
Aug 29 Python
基于多进程中APScheduler重复运行的解决方法
Jul 22 Python
Django中的FBV和CBV用法详解
Sep 15 Python
TensorFlow查看输入节点和输出节点名称方式
Jan 04 Python
解决安装新版PyQt5、PyQT5-tool后打不开并Designer.exe提示no Qt platform plugin的问题
Apr 24 Python
Python3.8安装Pygame教程步骤详解
Aug 14 Python
Python3+Appium安装及Appium模拟微信登录方法详解
Feb 16 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中使用PDF文档功能
2006/10/09 PHP
解决File size limit exceeded 错误的方法
2013/06/14 PHP
使用php记录用户通过搜索引擎进网站的关键词
2014/02/13 PHP
php微信支付之APP支付方法
2015/03/04 PHP
php+ajax无刷新上传图片实例代码
2015/11/17 PHP
注意!PHP 7中不要做的10件事
2016/09/18 PHP
php获取远程图片并下载保存到本地的方法分析
2016/10/08 PHP
基于jquery的DIV随滚动条滚动而滚动的代码
2012/07/20 Javascript
JQuery获取或设置ckeditor的数据(示例代码)
2013/11/15 Javascript
jQuery控制cookie过期时间的方法
2015/04/07 Javascript
浅析Node.js中的内存泄漏问题
2015/06/23 Javascript
js表单提交和submit提交的区别实例分析
2015/12/10 Javascript
Javascript使用function创建类的两种方法(推荐)
2016/11/19 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
原生js和css实现图片轮播效果
2017/02/07 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
微信小程序 页面滑动事件的实例详解
2017/10/12 Javascript
浅谈webpack打包之后的文件过大的解决方法
2018/03/07 Javascript
简单了解微信小程序的目录结构
2019/07/01 Javascript
NodeJs 实现简单WebSocket即时通讯的示例代码
2019/08/05 NodeJs
python绘图库Matplotlib的安装
2014/07/03 Python
Python Sql数据库增删改查操作简单封装
2016/04/18 Python
Python算术运算符实例详解
2017/05/31 Python
Python机器学习算法之k均值聚类(k-means)
2018/02/23 Python
Python使用folium excel绘制point
2019/01/03 Python
python的依赖管理的实现
2019/05/14 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
python-地图可视化组件folium的操作
2020/12/14 Python
python中Array和DataFrame相互转换的实例讲解
2021/02/03 Python
卡西欧G-SHOCK英国官网: 防水防震手表
2018/01/08 全球购物
软件测试企业面试试卷
2016/07/13 面试题
领导班子四风问题个人对照检查材料
2014/10/04 职场文书
审查起诉阶段律师意见书
2015/05/19 职场文书
《活见鬼》教学反思
2016/02/24 职场文书
导游词之铁岭象牙山
2019/12/06 职场文书
CSS 实现Chrome标签栏的技巧
2021/08/04 HTML / CSS