geekorm_core/builder/values/valchrono.rs
1//! Implementations of `From` trait for chrono types.
2//!
3//! ```rust
4//! use geekorm::prelude::*;
5//! use chrono::{DateTime, Utc};
6//!
7//! #[derive(Table, Clone, Default, serde::Serialize, serde::Deserialize)]
8//! struct User {
9//! id: PrimaryKeyInteger,
10//! created_at: DateTime<Utc>,
11//! }
12//! ```
13use super::Value;
14use chrono::{DateTime, TimeZone};
15
16impl<Tz> From<DateTime<Tz>> for Value
17where
18 Tz: TimeZone,
19{
20 fn from(value: DateTime<Tz>) -> Self {
21 Value::Text(value.to_rfc3339())
22 }
23}
24
25impl<Tz> From<&DateTime<Tz>> for Value
26where
27 Tz: TimeZone,
28{
29 fn from(value: &DateTime<Tz>) -> Self {
30 Value::Text(value.to_rfc3339())
31 }
32}