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

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文件分块,获取长度字节   java嵌入式Tomcat不执行jsf页面   java我的数据库中有2个实体,但hibernate返回其中6个。   java如何基于逗号拆分字符串   java取消已经运行的CompletableFutures的预期模式是什么   java如何在informix中从另一个数据库复制表ddl和数据   为什么图片是黑色的?   java根据字符串数组中的单词筛选列表   Java8的集合。平行流有效吗?   Kotlin中的java静态内部类   java如何在GUI中生成一列字符串   javafx如何正确使用高对比度主题?   带空格的javascript Httpurlconnection参数   java如何设置GridBagLayout的约束   java如何在一个线程可能尚未初始化时关闭另一个线程   java将简单时间格式转换为特殊时间格式(hhmmt)   安卓/java阵列重复过滤器的问题   java在队列的链接实现下,入队和出队是如何工作的   java更新sql外键约束