Python3.x:日期库dateutil简介

安装

pip install python-dateutil

关于parser

#字符串可以很随意,可以用时间日期的英文单词,可以用横线、逗号、空格等做分隔符。
#没指定时间默认是0点,没指定日期默认是今天,没指定年份默认是今年。
from dateutil.parser import parse
parse("Wed, Nov 12")
#输出结果:datetime.datetime(2013, 11, 12, 0, 0) parse("2013-08-20")
#输出结果:datetime.datetime(2013, 8, 20, 0, 0) parse("")
#输出结果:datetime.datetime(2013, 8, 20, 0, 0) parse("2013,08,20")
#输出结果:datetime.datetime(2013, 8, 20, 0, 0) parse("08,20")
#输出结果:datetime.datetime(2013, 8, 20, 0, 0) parse("12:00:00")
#输出结果:datetime.datetime(2013, 8, 20, 12, 0) parse("this is the wonderful moment 12:00:00,I feel good",fuzzy=True)#fuzzy开启模糊匹配,过滤掉无法识别的时间日期字符
#输出结果:datetime.datetime(2013, 8, 20, 12, 0)

关于rrule

rrule(self, freq, dtstart=None, interval=1, wkst=None, count=None, until=None, bysetpos=None,
        bymonth=None, bymonthday=None, byyearday=None, byeaster=None, byweekno=None, byweekday=None, byhour=None, byminute=None, bysecond=None, cache=False)
其中
freq:可以理解为单位。可以是 YEARLY, MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY, SECONDLY。即年月日周时分秒。
dtstart,until:是开始和结束时间。
wkst:周开始时间。
interval:间隔。
count:指定生成多少个。
byxxx:指定匹配的周期。比如byweekday=(MO,TU)则只有周一周二的匹配。byweekday可以指定MO,TU,WE,TH,FR,SA,SU。即周一到周日。

from dateutil.rrule import *
list(rrule(DAILY,dtstart=parse('2013-08-01'),until=parse('2013-08-07'))) #2013-08-01到2013-08-07每日
#输出:[datetime.datetime(2013, 8, 1, 0, 0),
#datetime.datetime(2013, 8, 2, 0, 0),
#datetime.datetime(2013, 8, 3, 0, 0),
#datetime.datetime(2013, 8, 4, 0, 0),
#datetime.datetime(2013, 8, 5, 0, 0),
#datetime.datetime(2013, 8, 6, 0, 0),
#datetime.datetime(2013, 8, 7, 0, 0)] list(rrule(DAILY,interval=3,dtstart=parse('2013-08-01'),until=parse('2013-08-07'))) #间隔为3
#输出:[datetime.datetime(2013, 8, 1, 0, 0),
#datetime.datetime(2013, 8, 4, 0, 0),
#datetime.datetime(2013, 8, 7, 0, 0)] list(rrule(DAILY,count=3,dtstart=parse('2013-08-01'),until=parse('2013-08-07'))) #只生成3个
#输出:[datetime.datetime(2013, 8, 1, 0, 0),
#datetime.datetime(2013, 8, 2, 0, 0),
#datetime.datetime(2013, 8, 3, 0, 0)] list(rrule(DAILY,byweekday=(MO,TU),dtstart=parse('2013-08-01'),until=parse('2013-08-07'))) #只匹配周一周二的
#输出:[datetime.datetime(2013, 8, 5, 0, 0), #datetime.datetime(2013, 8, 6, 0, 0)] list(rrule(MONTHLY,dtstart=parse('2013-05-19'),until=parse('2013-08-20'))) #按月为单位
#输出:[datetime.datetime(2013, 5, 19, 0, 0),
#datetime.datetime(2013, 6, 19, 0, 0),
#datetime.datetime(2013, 7, 19, 0, 0),
#datetime.datetime(2013, 8, 19, 0, 0)] #月份加1
import datetime
import dateutil
z=datetime.datetime(2016,12,17)
z+dateutil.relativedelta.relativedelta(months=1)

Python3.x:日期库dateutil简介的更多相关文章

  1. Python3 常用爬虫库的安装

    Python3 常用爬虫库的安装 1 简介 Windows下安装Python3常用的爬虫库:requests.selenium.beautifulsoup4.pyquery.pymysql.pymon ...

  2. Java8新特性时间日期库DateTime API及示例

    Java8新特性的功能已经更新了不少篇幅了,今天重点讲解时间日期库中DateTime相关处理.同样的,如果你现在依旧在项目中使用传统Date.Calendar和SimpleDateFormat等API ...

  3. java开源时间/日期库Joda-Time

    任何企业应用程序都需要处理时间问题.应用程序需要知道当前的时间点和下一个时间点,有时它们还必须计算这两个时间点之间的路径.使用 JDK 完成这项任务将非常痛苦和繁琐.现在来看看 Joda Time,一 ...

  4. Raphael Js矢量库API简介:

    Raphael Js矢量库API简介:Raphael Javascript 是一个 Javascript的矢量库. 2010年6月15日,著名的JavaScript库ExtJS与触摸屏代码库项目jQT ...

  5. Java 8 时间日期库的20个使用示例

    java 8是如何处理时间及日期的 有人问我学习一个新库的最佳途径是什么?我的回答是,就是在实际项目中那样去使用它.在一个真实的项目中会有各种各样的需求,这会促使开发人员去探索和研究这个新库.简言之, ...

  6. Python3 urllib.request库的基本使用

    Python3 urllib.request库的基本使用 所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地. 在Python中有很多库可以用来抓取网页,我们先学习urlli ...

  7. 【转】Python3 (入门6) 库的打包与安装

    Python3 (入门6) 库的打包与安装 本文由 Luzhuo 编写,转发请保留该信息. 原文: http://blog.csdn.net/Rozol/article/details/6940288 ...

  8. java8新的时间日期库及使用示例

    转自:https://www.cnblogs.com/comeboo/p/5378922.html 来自:Java译站 链接:http://it.deepinmind.com/java/2015/03 ...

  9. 对python3中pathlib库的Path类的使用详解

    原文连接   https://www.jb51.net/article/148789.htm 1.调用库 ? 1 from pathlib import 2.创建Path对象 ? 1 2 3 4 5 ...

随机推荐

  1. RPolar项目进度记录

    PolarMesDlg.cpp,中的 void PolarMesDlg::CImage2CImagedata(unsigned char* src,CImage* desimg,unsigned ch ...

  2. 【转】 VC++6.0 在Win7 64位下调试,Shift+F5无法退出

    Win7 64位VC++6.0调试代码无法关闭窗口解决方法 VC++6.0 在64位Windows7下调试的时候,再结束调试,程序无法退出,只能关闭VC++6.0 IDE环境. 问题描述:当我击F5开 ...

  3. Android 扁平化button

    View 创建 colors.xml 文件定义两个颜色 1. <resources> 2.     <color name="blue_pressed">@ ...

  4. 再论IBatisNet + Castle进行项目的开发

    随着项目的进展,Castle和IBatisNet给我的惊喜更多.Com+很重,不需要分布式的中小项目慎用,NHibernate虽好,NHibernate的2005-9-20发布了最新版本1.0-rc1 ...

  5. Delphi xe7 android实现透明度可以调整的对话框

    Delphi xe7 android实现透明度可以调整的对话框 Delphi xe7 android实现透明度可以调整的对话框 Delphi xe7 android实现透明度可以调整的对话框 要实现对 ...

  6. JZOJ.5246【NOIP2017模拟8.8】Trip

    Description        多年之后,worldwideD厌倦竞争,隐居山林.       他的家乡开始发展起了旅游业,在一条很长的主干道上,有N个旅游景点,按顺序编号为1到N.根据游客们网 ...

  7. null!= xxx 和 xxx!=null有什么区别?

    从意义上将没有区别,从编程规范上讲,第一种写法是为了防止写成:null = xxx

  8. Kubernetes资源创建yml语法

    前言 在是用kubernetes中,我们对资源的创建大部分都是通过 1 kubelet create -f RESOURCE.yaml 刚开看的时候不免有一些迷茫,看不懂语法,不知道怎么写:今天本文就 ...

  9. What is Grammar?

    What is Grammar? And why grammar is your friend… Grammar(noun): the structure and system of a langua ...

  10. IO流入门-第五章-FileWriter

    FileWriter基本用法和方法示例 /* java.io.Writer java.io.OutputStreamWriter 转换流(字节输出流--->字符输出流) java.io.File ...