跳转到主要内容

解析可读的日期/时间文本。

项目描述

解析可读的日期/时间字符串。

parsedatetime版本1.0或更高版本需要Python 2.6或更高版本。

尽管我们还在使用Python 2.6进行测试,但我们无法保证未来的更改不会在2.6下破坏

Downloads Travis CI Codecov Requirements Status Dependency 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-binary包安装PyICU,该包消除了源构建步骤。PyICU依赖于icu4c,在macOS上需要homebrew

brew install icu4c

Makefile包含macOS的默认值,因此您可能需要对其进行调整。

使用parsedatetime

如何使用parsedatetime的示例

import parsedatetime

cal = parsedatetime.Calendar()

cal.parse("tomorrow")

将其转换为Python datetime对象

from datetime import datetime

time_struct, parse_status = cal.parse("tomorrow")

datetime(*time_struct[:6])

使用pytz包支持时区的日期时间解析

import parsedatetime
import pytz
from pytz import timezone

cal = parsedatetime.Calendar()

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

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

文档

生成的文档默认包含在docs目录中,也可以在线查看,网址为 https://bear.im/code/parsedatetime/docs/index.html

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

make docs

注意

Calendar 类有一个名为 ptc 的成员属性,该属性在类初始化方法中创建,为一个 parsedatetime_consts.CalendarConstants() 实例。

历史

parsedatetime 中的代码在过去几年中已经以许多不同的语言(C、Clipper、Delphi)实现,作为我参与的不同定制/专有系统的一部分。遗憾的是,之前的代码在任何意义上都不是“开放的”。

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

在完成初始概念并创建可以展示给 Chandler 团队的东西之后,在 Chandler 团队的帮助下,代码已经发展到当前状态,特别是 Darshana 的帮助。

项目详情


下载文件

下载适合您平台的应用文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。

源代码分发

parsedatetime-2.6.tar.gz (60.1 kB 查看哈希值)

上传时间 源代码

构建分发

parsedatetime-2.6-py3-none-any.whl (42.5 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面