Blog
网站首页
Jiff时间库与sea-orm的联合使用
Jiff时间库与sea-orm的联合使用
2025-07-09 11:22
2025-07-09 11:22
作者:
xmh0511
提交
````rust use chrono::{FixedOffset, TimeZone, Utc}; use jiff::{Timestamp, ToSpan, Zoned}; use sea_orm::{ActiveModelBehavior, ActiveModelTrait, ActiveValue::Set, Database, EntityTrait}; use std::error::Error; mod model; use model::user_tb; use crate::model::prelude::UserTb; #[tokio::main] async fn main() -> Result<(), Box
> { let db = Database::connect("mysql://root:970252187@localhost/jiff").await?; // let mut user = user_tb::ActiveModel::new(); // user.name = Set(Some("abc".to_owned())); // let now = Zoned::now(); // let spec = now.checked_add(1.days().hours(2))?; // let timestamp = Timestamp::from(spec).as_second(); // user.created_time = Set(Some( // chrono::DateTime::from_timestamp(timestamp, 0) // .unwrap() // .with_timezone(&FixedOffset::east_opt(8 * 3600).unwrap()) // .naive_local(), // )); // user.insert(&db).await?; let res = UserTb::find_by_id(6).one(&db).await?; if let Some(res) = res { let time = res.created_time.unwrap(); let timestamp = time .and_local_timezone(FixedOffset::east_opt(8 * 3600).unwrap()) .unwrap() .timestamp(); let r = Timestamp::from_second(timestamp)? .in_tz("Asia/Shanghai")? .datetime(); println!("time :{}", r); } Ok(()) } ````