分析人类可读的日期/时间文本。

parsedatetime的Python项目详细描述


分析日期时间

分析人类可读的日期/时间字符串。

ParseDateTime 1.0或更高版本需要Python2.6或更高版本。

虽然我们仍然使用Python2.6进行测试,但我们不能保证未来的更改不会在2.6下中断

DownloadsTravis CICodecovRequirements StatusDependency Status

安装

您可以使用以下命令安装ParseDateTime:

pip install parsedatetime

运行测试

从源目录:

make test

要在多个python版本上运行测试,请键入make tox

$ make tox
[... tox creates a virtualenv for every python version and runs tests inside of each]
py27: commands succeeded
py35: commands succeeded

这假设您已将要测试的版本作为 pyenv环境:

pyenv install -s 2.6.9
pyenv install -s 2.7.11
pyenv install -s 3.5.2
pyenv install -s pypy-5.3
pyenv global 2.7.11 3.5.2 2.6.9 pypy-5.3

测试取决于PYICU的安装。pyicu依赖于icu4c,而在os x上,icu4c需要自制:

brew install icu4c

则需要传入安装后将显示的自制程序的LDFLAGSCPPFLAGS

LDFLAGS:  -L/usr/local/opt/icu4c/lib
CPPFLAGS: -I/usr/local/opt/icu4c/include

makefile包含了它们的os x默认值,因此您可能需要调整它们。

使用ParseDateTime

如何使用parseDateTime的示例:

import parsedatetime

cal = parsedatetime.Calendar()

cal.parse("tomorrow")

把它放到pythondatetime对象中:

from datetime import datetime

time_struct, parse_status = cal.parse("tomorrow")
datetime(*time_struct[:6])

使用时区支持解析datetime(使用pytz包):

import parsedatetime
import pytz
from pytz import timezone

cal = parsedatetime.Calendar()

datetime_obj, _ = cal.parseDT(datetimeString="tomorrow", tzinfo=timezone("US/Pacific"))

更详细的例子可以在examples目录中找到。

文档

默认情况下,生成的文档包含在docs目录中,也可以在https://bear.im/code/parsedatetime/docs/index.html

可以通过运行以下命令生成文档:

make docs

注释

Calendar类有一个名为ptc的成员属性,该属性是在类init方法作为实例期间创建的 共parsedatetime_consts.CalendarConstants()

历史记录

多年来,parsedatetime中的代码已经在许多不同的语言(c、clipper、delphi)中实现,作为我工作过的不同定制/专有系统的一部分。遗憾的是,前面的代码在任何意义上都不是“开放的”。

当我去开源应用基金会工作,意识到chandler项目可以从我解析日期/时间文本的经验中受益时,我决定从头开始,使用python实现代码,并使其真正开放。

在完成了最初的概念并创建了一些可以向钱德勒的人展示的东西之后,在钱德勒的人的帮助下,代码现在已经发展到了它的当前状态,特别是darshana。

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

推荐PyPI第三方库


热门话题
java Intellij和Eclipse无法找到库工件   java Mapbox Android Symbolayer重置筛选器   java如何在顶部显示特定的recyclerview项?   java如何在Hibernate中使用@Qualifier   我想计算特定文本webdriver java在多个页面上可用的HTML表中的数据   java捕获Spring MVC REST服务抛出的Jersey REST客户端的异常   java Hibernate flush()影响事务   密钥绑定Java密钥绑定   sonarqube java,sonar,圈复杂度   使用3DES在Java中加密,在SQL Oracle中解密   regex正则表达式在regex101上工作。com,但不是prod   JAVAsql。SQLException:ORA00600:内部错误代码,参数:[12811],[93233]   java H2数据库存储在哪里?   java如何避免在使用Jackson时从JSON字符串反序列化空JSON数组元素