Add support for time crate.

This commit is contained in:
Andre Julius 2023-06-26 17:17:03 +02:00
parent 7f9ad54694
commit 70d1ac3786
3 changed files with 24 additions and 7 deletions

View file

@ -1,4 +1,3 @@
use chrono::{DateTime, TimeZone, Utc};
use std::fmt;
use serde::{de, Deserialize, Deserializer};
@ -7,12 +6,26 @@ use serde::{de, Deserialize, Deserializer};
#[derive(Deserialize, Clone, PartialEq, Eq, Debug)]
pub struct NumericDate(i64);
#[cfg(feature = "chrono")]
use chrono::{DateTime, TimeZone, Utc};
#[cfg(feature = "chrono")]
impl From<NumericDate> for DateTime<Utc> {
fn from(t: NumericDate) -> Self {
Utc.timestamp_opt(t.0, 0).unwrap()
}
}
#[cfg(feature = "time")]
use time::OffsetDateTime;
#[cfg(feature = "time")]
impl From<NumericDate> for OffsetDateTime {
fn from(t: NumericDate) -> Self {
OffsetDateTime::from_unix_timestamp(t.0).unwrap()
}
}
#[derive(PartialEq, Debug, Clone)]
pub struct StringList(Vec<String>);