5 个版本
0.8.1 | 2022 年 12 月 2 日 |
---|---|
0.1.3 | 2022 年 11 月 8 日 |
0.1.2 | 2022 年 11 月 3 日 |
0.1.1 | 2022 年 11 月 1 日 |
0.1.0 | 2022 年 11 月 1 日 |
在 日期和时间 中排名第 383
140KB
3K SLoC
chrono-tz-postgres
一种可以转换为自定义 PostgreSQL 类型的时区类型。这允许你在 PostgreSQL 中使用类型化时区。
自定义 PostgreSQL 枚举 tz
等同于 Rust 枚举 chrono_tz::Tz
。它可以在 此处 找到。
版本号与 chrono-tz
相同。
chrono-tz-postgres 应用示例
use chrono_tz::Tz;
use chrono_tz_postgres::TzPg;
use postgres::{Client, NoTls};
fn main() -> Result<(), Box<dyn std::error::Error>> {
// We can convert between Tz and TzPg
let tz = Tz::Arctic__Longyearbyen;
let tzpg = TzPg::from(tz);
let tz: Tz = tzpg.into();
println!("{}", tz);
// Tz can be serialized, unlike TzPg
serde_json::to_string(&tz)?;
// but TzPg can interface with Postgres
let mut client = Client::connect("host=localhost user=postgres", NoTls)?;
// timezone the column name, whose type is `tz`
// `tz` is a custom Postgres type
let row = client.query_one("SELECT timezone FROM foo LIMIT 1", &[])?;
let tz: TzPg = row.get(0);
// Convert back to Tz to do more
let tz: Tz = tz.into();
println!("{}", tz);
Ok(())
}
依赖项
~4.5–6MB
~131K SLoC