5 个版本 (2 个稳定版)
1.1.0 | 2024 年 8 月 8 日 |
---|---|
1.0.0 | 2024 年 8 月 4 日 |
0.2.0 | 2024 年 7 月 22 日 |
0.1.1 | 2024 年 7 月 18 日 |
0.1.0 | 2024 年 7 月 17 日 |
在 日期和时间 分类中排名 192
每月下载量 463
49KB
691 代码行
使用 nom 编写的组合器集合,用于解析 numeric
和 language-specific
日期。
目前支持以下语言
Russian
(ru
功能标志)English
(en
功能标志,默认启用)
此 crate 可用于编写其他解析器或独立使用,以从字符串中解析 chrono::NaiveDate
此 crate 使用 chrono::Local
类型进行几乎所有日期计算。
为什么?
我在开发我的电报机器人,并给我的用户提供了一种通过格式为 dd-mm-yyyy 的日期来获取信息的方式。确实,其中一些用户收到了正确的格式并成功接收了他们想要的内容。而其他人则只输入了一些与日期略有相似的内容,并抱怨机器人无法理解他们。因此,这个 crate 试图解决这个问题。
数值日期
可以识别以下模式
- dd/mm/y4
- mm/dd/y4
- y4/mm/dd
- dd
- dd/mm
- mm/dd
可以使用除符号以外的其他分隔符
/
-
.
- 任意数量的空格(空白和制表符)
分隔符不需要在所有地方匹配,因此 dd/mm-y4 或甚至 dd mm.y4 也是可接受的格式
要解析 chrono::NaiveDate
值,可以使用以下方法
如果不存在日期部分,则使用今天的相应日期部分。
特定语言的日期
每个特定语言的解析器都放在相应的 功能标志
(ru
或 en
)后面,除了默认可用的 en
。
有时候,接收一个 相对日期
或 星期
(完全
或 简称
)的日期也是很酷的
有关使用方法的更多信息,请参阅函数的文档
依赖项
~2MB
~37K SLoC