10 个版本
0.3.4 | 2024年4月6日 |
---|---|
0.3.3 | 2024年2月13日 |
0.3.2 | 2023年8月3日 |
0.2.1 | 2023年6月4日 |
0.1.1 | 2023年5月7日 |
#149 in 日期和时间
1.5MB
46K SLoC
Timelib for Rust
Timelib for Rust 是一个围绕 timelib 库的 Rust 封装,该库用于驱动 PHP 和 MongoDB。
安装
可以使用以下方式安装:
cargo add timelib
使用方法
let tz = timelib::Timezone::parse("America/Chicago").expect("Error parsing timezone!");
timelib::strtotime("tomorrow", None, &tz);
timelib::strtotime("next tuesday", Some(1654318823), &tz);
查看测试用例以获取更多示例。
可选特性
生成的 re2c
输出已打包并自动使用。如果您想自己生成这些文件,请按照以下步骤操作:
- 安装
re2c
。您可以在所有主要平台上轻松安装它- Linux:
apt-get install re2c
- Mac:
brew install re2c
- Windows:
choco install re2c
- 从源代码: re2c.org
- Linux:
- 启用
re2c
特性timelib= {版本= "0.2.0",特性= ["re2c"] }
构建
确保检出所有子模块。
初始克隆
git clone --recurse-submodules https://github.com/westy92/timelib-rust
克隆后
git submodule init && git submodule update
现在您应该能够运行 cargo build
和 cargo test
。
如果使用 re2c
特性,请确保按照上述说明安装 re2c
。例如: cargo test --features re2c
。
更新子模块版本
git submodule update --remote
确保重新生成 re2c 输出并将它们复制到 pregenerated/
。
cd ext/timelib/
make parse_date.c parse_iso_intervals.c
cp parse_date.c ../../pregenerated/
cp parse_iso_intervals.c ../../pregenerated/
发布
移除 --dry-run
以实际发布。
cargo publish --dry-run