该模块不是Python内建的模块,为Python补充了 ISO 8601 解析——将常见的 ISO 8601 日期字符创转化为 Python 的 datetime 对象。

  安装

$ pip install iso8601

  使用

>>> import iso8601

  示例

>>> import iso8601
>>> iso8601.parse_date("2007-01-25T12:00:00Z")
datetime.datetime(2007, 1, 25, 12, 0, tzinfo=<iso8601.Utc>)
>>>

  格式

  你既可以解析完整的 日期 + 时间 模式的字符串,又可以仅仅解析包含 日期 的字符串, 两种情况都会返回 datetime 实例,但是返回的 时间 缺省为 0,返回的 日/月 缺省为 1。

  日期

  • YYYY-MM-DD
  • YYYYMMDD
  • YYYY-MM (day 默认为 1)
  • YYYY (month 和 day 都默认为1)

  时间

  • hh:mm:ss.nn
  • hhmmss.nn
  • hh:mm (second 默认为0)
  • hhmm (second 默认为0)
  • hh (minute 和 second都默认为0)

  时区

  • 缺省为UTC
  • Z (UTC)
  • +/-hh:mm
  • +/-hhmm
  • +/-hh

  与ISO 8601 的区别

  • 你可以使用空格(“ ”)而不一定用 “T” 来区分日期和时间
  • 10以下的日和月不在数字前面加“0”也能识别,比如(2 而不是 02)
  • 时区缺省为UTC

  

API

iso8601.parse_date(datestring, default_timezone=<iso8601.Utc>)

  将ISO 8601 格式的文本转化为Python datetime 对象。

  参数

  • datestring —— 要解析的日期字符串,其中也可以包含时区信息
  • default_timezone —— 时区信息,一个 datetime 的 tzinfo 实例,当参数 datestring 中没有包含时区信息时使用。如果设置为 None 则返回一个简单的 datetime 对象。

  返回值
  
一个 datetime.datetime 实例

  

异常

exception iso8601.ParseError

  当 iso8601.parse_date() 解析出现错误或无法构造 datetime 实例时抛出 ParseError 

Python——pyiso8601的更多相关文章

  1. Python中的多进程与多线程(一)

    一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...

  2. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  3. Python 小而美的函数

    python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) ...

  4. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

  5. 可爱的豆子——使用Beans思想让Python代码更易维护

    title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...

  6. 使用Python保存屏幕截图(不使用PIL)

    起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...

  7. Python编码记录

    字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...

  8. Apache执行Python脚本

    由于经常需要到服务器上执行些命令,有些命令懒得敲,就准备写点脚本直接浏览器调用就好了,比如这样: 因为线上有现成的Apache,就直接放它里面了,当然访问安全要设置,我似乎别的随笔里写了安全问题,这里 ...

  9. python开发编译器

    引言 最近刚刚用python写完了一个解析protobuf文件的简单编译器,深感ply实现词法分析和语法分析的简洁方便.乘着余热未过,头脑清醒,记下一点总结和心得,方便各位pythoner参考使用. ...

随机推荐

  1. 每日英语:The Risks of Big Data for Companies

    Big data. It's the latest IT buzzword, and it isn't hard to see why. The ability to parse more infor ...

  2. [MyBean说明书]-如何制作BPL插件

    DEMO位置:     samples\simpleConsole\Lib-bpl [步骤]: 1. 首先新建一个BPL工程. 2. 添加一个窗体,实现IPluginForm接口(simpleCons ...

  3. fzu2158

    http://acm.fzu.edu.cn/problem.php?pid=2158 在密室逃脱游戏中,大家被困在一个密室中,为了逃出密室,需要找到正确的数字密码,于是大家分头行动,分别找到了密码的子 ...

  4. hdu 4253(经典题目:二分+最小生成树)

    题意:就是说有A.B两个公司要修路,有m条路,可能是属于A修的,也可能是属于B修的,现在要求所有路都联通的情况下的最小权值,并且A公司必须要修k条路. 同: 代码: #include<iostr ...

  5. 基于jQuery Tooltips悬停提示效果

    基于jQuery Tooltips悬停提示效果.这是一款基于jquery.tooltipster插件实现的jQuery Tooltips Hover effect特效.效果图如下: 在线预览   源码 ...

  6. 【.Net】Thread.Start()与ThreadPool.QueueUserWorkItem()的区别

    百度搜到的靠前的几篇文章,都是写了两种API的使用实例,但并没有说清两者的具体差别. 直接上stackoverflow搜才是正确的姿势.(想上谷歌,然而十/九_大|期间VPN各种被墙,就很气) 参考: ...

  7. 使用Task代替ThreadPool和Thread

    转载:改善C#程序的建议9:使用Task代替ThreadPool和Thread 一:Task的优势 ThreadPool相比Thread来说具备了很多优势,但是ThreadPool却又存在一些使用上的 ...

  8. Hadoop运行单词统计

    1.创建input文件夹 hadoop fs -mkdir input 2.上传文件到hadoop hadoop fs -put /root/data/output.txt input 3.运行wor ...

  9. cgi与fastcgi区别_转

    转自:https://www.cnblogs.com/wanghetao/p/3934350.html 当我们在谈到cgi的时候,我们在讨论什么 最早的Web服务器简单地响应浏览器发来的HTTP请求, ...

  10. iptables配置文件/etc/sysconfig/iptables内容详解

    #头两行是注释说明# Firewall configuration written by system-config-securitylevel# Manual customization of th ...