iso 8601日期/时间/持续时间分析器和格式化程序

isodate的Python项目详细描述


ISO 8601日期/时间分析器

travis ci工作服最新版本license

该模块实现了ISO8601日期、时间和持续时间解析。 实施遵循ISO8601:2004标准,仅实施 标准中提到的日期/时间表示。如果不是 在这里提到,那么它就被视为不存在,而不是允许的 选项. < /P>

例如,ISO8601:2004从未提及2位数年份。所以,它不是 本模块旨在支持2位数年份。(尽管它可能仍然 作为ISO日期有效,因为它不是明确禁止的。) 另一个例子是,当一段时间内没有时区信息时, 然后它应该被解释为本地时间,而不是UTC。

因为这个模块将iso 8601日期/时间映射到标准python数据类型,比如 日期 时间 日期时间 时间增量 ,无法转换 所有可能的ISO 8601日期/时间。例如,0001-01-01之前的日期是 python date datetime 类不允许。另外 小数秒限制为微秒。这意味着如果解析器发现 例如纳秒,它会将其舍入到微秒。

文档

< dl >
目前有四种分析方法可用。
> UL> < DL>
分析时间:
将iso 8601时间字符串解析为 时间 对象
< DL>
分析日期:
将ISO 8601日期字符串解析为 日期 对象
< DL>
分析日期时间:
将ISO 8601日期时间字符串解析为 日期时间 对象
< DL>
分析持续时间:
将ISO 8601持续时间字符串解析为 时间增量 持续时间 对象.< /dD> < DL>
分析tzinfo:
将iso 8601字符串的时区信息部分解析为 tzinfo 对象。

因为ISO 8601允许定义年和月的持续时间,并且 timedelta 不处理年和月,此模块提供 持续时间 类, 它几乎可以像 timedelta 对象一样使用(有一些限制)。 但是,持续时间对象可以转换为时间增量对象。

还为所有支持的数据类型提供了ISO格式设置方法。各 xxx_isoformat 方法接受格式参数。默认格式为 始终使用ISO 8601扩展格式。这与 datetime.isoformat

< Buff行情>
    < DL>
    时间等格式:
    用于创建具有默认格式的iso时间字符串 hh:mm:ssz
    < DL>
    日期格式:
    打算用默认格式创建iso日期字符串 年-月-日
    < DL> < d>日期时间格式:
    打算用默认格式创建iso日期时间字符串 yyyy-mm-ddthh:mm:ssz
    < DL>
    持续时间等格式:
    用于创建具有默认格式的ISO持续时间字符串 pnnynnnndtnnhnnmnns
    < DL>
    tz-isoformat:
    打算用默认格式创建iso时区字符串 时:分
    < DL>
    标准时间:
    一个主要与python的strftime兼容的重新实现,但是 只支持那些格式字符串,也可以用于日期 前1900。此方法还了解如何格式化 datetime 持续时间 实例。

安装:

使用python标准安装方法可以轻松安装此模块。

使用 python setup.py install 或使用 setuptools Distribute 可用,您还可以使用 简易安装

限制:

< Buff行情>
  • 解析器接受几个无效的日期/时间表示 根据ISO 8601标准。
    1. 对于日期和时间,这个解析器接受基本格式和扩展格式的混合。 日期可以是基本格式,时间可以是扩展格式。 它还允许日期时间字符串中的短日期和时间。
    2. 对于不完整的日期,选择第一天。例如,19世纪的结果是 1901-01-01.
    3. 持续时间 时间增量 值尚未完全支持。

更多信息:

文档字符串和单元测试应该提供关于 方法及其局限性。

源版本提供了一个 setup.py 脚本, 可用于运行包含的单元测试。

源代码可在http://github.com/gweis/isodate" rel="nofollow">http://github.com/gweis/isodate上找到。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JNLP无法在浏览器中正确启动(与dtjava.js一起部署)   在执行下一个方法之前,java将等待线程执行结束   java如何将另一个LayoutManager应用于JComboBox?(多栏JComboBox尝试)   使用jPBC在java中实现双线性配对   java在使用@RequestMapping注释时获取请求的值(URL)   java如何控制流量   java如何获取IFC对象的绝对坐标?   java目标服务器无法使用htmlunit和tor响应异常   java需要帮助创建一个循环结构来运行我的程序   java有可能拥有一个Android APK并在应用程序中更改构建变体吗?   在Sphinx4中运行Ant的java   Java:从ArrayList获取子列表的有效方法   java如何使在循环内部创建的数组在循环外部工作?   apache poi通过java中的XSSF表从单元格读取日期值   安卓 java自己的SeqLock实现,避免spinlock会更好吗?   java的并发底层方法。util。同时发生的预定未来   java比较方法违反了它的一般约定,如何使它具有可传递性?   使用JAVA定向指定类的DB导出子类   一个方法中的java更改特定imageView