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. redis php 实例二

    前面一篇博客主要是string类型,list类型和set类型,下面hash类型和zset类型 1,hset 描述:将哈希表key中的域field的值设为value.如果key不存在,一个新的哈希表被创 ...

  2. [LAMP]安装-Debian

    sudo apt-get install build-essential sudo apt-get install mysql-server sudo apt-get install apache2 ...

  3. (1)、hive框架搭建和架构简介

    一.简介 Hive是基于hadoop的一个数据仓库工具,有助于查询和管理分布式存储系统中的数据集,非常适合数据仓库的统计分析 Hive 不适合用于连机事物处理.也不提供实时查询,比较适合在大量不可变数 ...

  4. CentOS安装Oracle官方JRE

    CentOS自带的JRE是OpenJDK,因为一些原因,需要换用Oracle官方出品的JRE. Oracle JRE下载地址http://java.com/zh_CN/(下载时注意选择相应版本) 可以 ...

  5. webpack中引入的path[require('path')]是node.js内置的package,用来处理路径的。

    http://www.runoob.com/nodejs/nodejs-path-module.html

  6. CentOS 7安装与配置jdk-8u162

    一.下载jdk-8u162版本 jdk-8u162-linux-x64.rpm 二.上传jdk到centos下 上传完后的文件如下,文件只有读写权限,没有执行权限 使用如下命令授权,如果文件已经有了执 ...

  7. 简易新闻网站NewsWeb-网页抓取

    本文转载自姚虎才子 今天做项目时用到java抓取网页内容,本以为很简单的一件事但是还是让我蛋疼了一会,网上资料一大堆但是都是通过url抓取网页内容,但是我要的是读取本地的html页面内容的方法,网上找 ...

  8. Mininet加强版——DOT(分布式OpenFlow试验平台)

    前言 之前在做SDN实验的时候,需要用到包含2000+个交换机的fattree拓扑,当时用的是mininet,生成整个拓扑需要十五六个小时,最终在异常艰苦的环境下做完了实验,之后听说了有DOT(Dis ...

  9. CommonJS和AMD/CMD

    JS中的模块规范(CommonJS,AMD,CMD) 一,CommonJS NodeJS是CommonJS规范的实现,webpack也是以CommonJS的形式来书写. 在浏览器环境下,没有模块也不是 ...

  10. Java实现 Hessian接口测试

    Hessian接口测试简单单例 Hessian是基于Binary –RPC(二进制远程过程调用协议)进行通讯. Hessian就是把Java对象转变成字节序列,然后通过Http传输到目标服务器上(主机 ...