pub struct TimestampSeconds<FORMAT: Format = i64, STRICTNESS: Strictness = Strict>(/* private fields */);Expand description
De/Serialize timestamps as seconds since the UNIX epoch
De/serialize timestamps as seconds since the UNIX epoch.
Subsecond precision is only supported for TimestampSecondsWithFrac, but not for TimestampSeconds.
You can configure the serialization format between integers, floats, and stringified numbers with the FORMAT specifier and configure the deserialization with the STRICTNESS specifier.
Serialization of integers will round the timestamp to the nearest value.
The STRICTNESS specifier can either be formats::Strict or formats::Flexible and defaults to formats::Strict.
formats::Strict means that deserialization only supports the type given in FORMAT, e.g., if FORMAT is i64 deserialization from a f64 will error.
formats::Flexible means that deserialization will perform a best effort to extract the correct timestamp and allows deserialization from any type.
For example, deserializing TimestampSeconds<f64, Flexible> will discard any subsecond precision during deserialization from f64 and will parse a String as an integer number.
This type also supports chrono::DateTime with the chrono_0_4-feature flag.
This type also supports time::OffsetDateTime and time::PrimitiveDateTime with the time_0_3-feature flag.
This table lists the available FORMATs for the different timestamp types.
The FORMAT specifier defaults to i64 or f64.
| Timestamp Type | Converter | Available FORMATs |
|---|---|---|
std::time::SystemTime | TimestampSeconds | i64, f64, String |
std::time::SystemTime | TimestampSecondsWithFrac | f64, String |
chrono::DateTime<Utc> | TimestampSeconds | i64, f64, String |
chrono::DateTime<Utc> | TimestampSecondsWithFrac | f64, String |
chrono::DateTime<Local> | TimestampSeconds | i64, f64, String |
chrono::DateTime<Local> | TimestampSecondsWithFrac | f64, String |
chrono::NaiveDateTime | TimestampSeconds | i64, f64, String |
chrono::NaiveDateTime | TimestampSecondsWithFrac | f64, String |
time::OffsetDateTime | TimestampSeconds | i64, f64, String |
time::OffsetDateTime | TimestampSecondsWithFrac | f64, String |
time::PrimitiveDateTime | TimestampSeconds | i64, f64, String |
time::PrimitiveDateTime | TimestampSecondsWithFrac | f64, String |
§Examples
use std::time::{Duration, SystemTime};
#[serde_as]
#[derive(Deserialize, Serialize)]
struct Timestamps {
#[serde_as(as = "TimestampSeconds<i64>")]
st_i64: SystemTime,
#[serde_as(as = "TimestampSeconds<f64>")]
st_f64: SystemTime,
#[serde_as(as = "TimestampSeconds<String>")]
st_string: SystemTime,
}
// Serialization
// See how the values get rounded, since subsecond precision is not allowed.
let ts = Timestamps {
st_i64: SystemTime::UNIX_EPOCH.checked_add(Duration::new(12345, 0)).unwrap(),
st_f64: SystemTime::UNIX_EPOCH.checked_add(Duration::new(12345, 500_000_000)).unwrap(),
st_string: SystemTime::UNIX_EPOCH.checked_add(Duration::new(12345, 999_999_999)).unwrap(),
};
// Observe the different data types
let expected = json!({
"st_i64": 12345,
"st_f64": 12346.0,
"st_string": "12346",
});
assert_eq!(expected, serde_json::to_value(ts).unwrap());
// Deserialization works too
// Subsecond precision in numbers will be rounded away
let json = json!({
"st_i64": 12345,
"st_f64": 12345.5,
"st_string": "12346",
});
let expected = Timestamps {
st_i64: SystemTime::UNIX_EPOCH.checked_add(Duration::new(12345, 0)).unwrap(),
st_f64: SystemTime::UNIX_EPOCH.checked_add(Duration::new(12346, 0)).unwrap(),
st_string: SystemTime::UNIX_EPOCH.checked_add(Duration::new(12346, 0)).unwrap(),
};
assert_eq!(expected, serde_json::from_value(json).unwrap());chrono::DateTime<Utc> and chrono::DateTime<Local> are also supported when using the chrono feature.
Like SystemTime, it is a signed timestamp, thus can be de/serialized as an i64.
use chrono::{DateTime, Local, TimeZone, Utc};
#[serde_as]
#[derive(Deserialize, Serialize)]
struct Timestamps {
#[serde_as(as = "TimestampSeconds<i64>")]
dt_i64: DateTime<Utc>,
#[serde_as(as = "TimestampSeconds<f64>")]
dt_f64: DateTime<Local>,
#[serde_as(as = "TimestampSeconds<String>")]
dt_string: DateTime<Utc>,
}
// Serialization
// See how the values get rounded, since subsecond precision is not allowed.
let ts = Timestamps {
dt_i64: Utc.timestamp_opt(-12345, 0).unwrap(),
dt_f64: Local.timestamp_opt(-12345, 500_000_000).unwrap(),
dt_string: Utc.timestamp_opt(12345, 999_999_999).unwrap(),
};
// Observe the different data types
let expected = json!({
"dt_i64": -12345,
"dt_f64": -12345.0,
"dt_string": "12346",
});
assert_eq!(expected, serde_json::to_value(ts).unwrap());
// Deserialization works too
// Subsecond precision in numbers will be rounded away
let json = json!({
"dt_i64": -12345,
"dt_f64": -12345.5,
"dt_string": "12346",
});
let expected = Timestamps {
dt_i64: Utc.timestamp_opt(-12345, 0).unwrap(),
dt_f64: Local.timestamp_opt(-12346, 0).unwrap(),
dt_string: Utc.timestamp_opt(12346, 0).unwrap(),
};
assert_eq!(expected, serde_json::from_value(json).unwrap());Trait Implementations§
Source§impl<'de> DeserializeAs<'de, DateTime<Local>> for TimestampSeconds<i64, Strict>
Available on crate feature chrono_0_4 only.
impl<'de> DeserializeAs<'de, DateTime<Local>> for TimestampSeconds<i64, Strict>
chrono_0_4 only.Source§fn deserialize_as<D>(deserializer: D) -> Result<DateTime<Local>, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<DateTime<Local>, D::Error>where
D: Deserializer<'de>,
Source§impl<'de, FORMAT> DeserializeAs<'de, DateTime<Local>> for TimestampSeconds<FORMAT, Flexible>where
FORMAT: Format,
Available on crate feature chrono_0_4 only.
impl<'de, FORMAT> DeserializeAs<'de, DateTime<Local>> for TimestampSeconds<FORMAT, Flexible>where
FORMAT: Format,
chrono_0_4 only.Source§fn deserialize_as<D>(deserializer: D) -> Result<DateTime<Local>, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<DateTime<Local>, D::Error>where
D: Deserializer<'de>,
Source§impl<'de> DeserializeAs<'de, DateTime<Local>> for TimestampSeconds<String, Strict>
Available on crate feature chrono_0_4 only.
impl<'de> DeserializeAs<'de, DateTime<Local>> for TimestampSeconds<String, Strict>
chrono_0_4 only.Source§fn deserialize_as<D>(deserializer: D) -> Result<DateTime<Local>, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<DateTime<Local>, D::Error>where
D: Deserializer<'de>,
Source§impl<'de> DeserializeAs<'de, DateTime<Local>> for TimestampSeconds<f64, Strict>
Available on crate feature chrono_0_4 only.
impl<'de> DeserializeAs<'de, DateTime<Local>> for TimestampSeconds<f64, Strict>
chrono_0_4 only.Source§fn deserialize_as<D>(deserializer: D) -> Result<DateTime<Local>, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<DateTime<Local>, D::Error>where
D: Deserializer<'de>,
Source§impl<'de> DeserializeAs<'de, DateTime<Utc>> for TimestampSeconds<i64, Strict>
Available on crate feature chrono_0_4 only.
impl<'de> DeserializeAs<'de, DateTime<Utc>> for TimestampSeconds<i64, Strict>
chrono_0_4 only.Source§fn deserialize_as<D>(deserializer: D) -> Result<DateTime<Utc>, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<DateTime<Utc>, D::Error>where
D: Deserializer<'de>,
Source§impl<'de, FORMAT> DeserializeAs<'de, DateTime<Utc>> for TimestampSeconds<FORMAT, Flexible>where
FORMAT: Format,
Available on crate feature chrono_0_4 only.
impl<'de, FORMAT> DeserializeAs<'de, DateTime<Utc>> for TimestampSeconds<FORMAT, Flexible>where
FORMAT: Format,
chrono_0_4 only.Source§fn deserialize_as<D>(deserializer: D) -> Result<DateTime<Utc>, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<DateTime<Utc>, D::Error>where
D: Deserializer<'de>,
Source§impl<'de> DeserializeAs<'de, DateTime<Utc>> for TimestampSeconds<String, Strict>
Available on crate feature chrono_0_4 only.
impl<'de> DeserializeAs<'de, DateTime<Utc>> for TimestampSeconds<String, Strict>
chrono_0_4 only.Source§fn deserialize_as<D>(deserializer: D) -> Result<DateTime<Utc>, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<DateTime<Utc>, D::Error>where
D: Deserializer<'de>,
Source§impl<'de> DeserializeAs<'de, DateTime<Utc>> for TimestampSeconds<f64, Strict>
Available on crate feature chrono_0_4 only.
impl<'de> DeserializeAs<'de, DateTime<Utc>> for TimestampSeconds<f64, Strict>
chrono_0_4 only.Source§fn deserialize_as<D>(deserializer: D) -> Result<DateTime<Utc>, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<DateTime<Utc>, D::Error>where
D: Deserializer<'de>,
Source§impl<'de> DeserializeAs<'de, NaiveDateTime> for TimestampSeconds<i64, Strict>
Available on crate feature chrono_0_4 only.
impl<'de> DeserializeAs<'de, NaiveDateTime> for TimestampSeconds<i64, Strict>
chrono_0_4 only.Source§fn deserialize_as<D>(deserializer: D) -> Result<NaiveDateTime, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<NaiveDateTime, D::Error>where
D: Deserializer<'de>,
Source§impl<'de, FORMAT> DeserializeAs<'de, NaiveDateTime> for TimestampSeconds<FORMAT, Flexible>where
FORMAT: Format,
Available on crate feature chrono_0_4 only.
impl<'de, FORMAT> DeserializeAs<'de, NaiveDateTime> for TimestampSeconds<FORMAT, Flexible>where
FORMAT: Format,
chrono_0_4 only.Source§fn deserialize_as<D>(deserializer: D) -> Result<NaiveDateTime, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<NaiveDateTime, D::Error>where
D: Deserializer<'de>,
Source§impl<'de> DeserializeAs<'de, NaiveDateTime> for TimestampSeconds<String, Strict>
Available on crate feature chrono_0_4 only.
impl<'de> DeserializeAs<'de, NaiveDateTime> for TimestampSeconds<String, Strict>
chrono_0_4 only.Source§fn deserialize_as<D>(deserializer: D) -> Result<NaiveDateTime, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<NaiveDateTime, D::Error>where
D: Deserializer<'de>,
Source§impl<'de> DeserializeAs<'de, NaiveDateTime> for TimestampSeconds<f64, Strict>
Available on crate feature chrono_0_4 only.
impl<'de> DeserializeAs<'de, NaiveDateTime> for TimestampSeconds<f64, Strict>
chrono_0_4 only.Source§fn deserialize_as<D>(deserializer: D) -> Result<NaiveDateTime, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<NaiveDateTime, D::Error>where
D: Deserializer<'de>,
Source§impl<'de> DeserializeAs<'de, OffsetDateTime> for TimestampSeconds<i64, Strict>
Available on crate feature time_0_3 only.
impl<'de> DeserializeAs<'de, OffsetDateTime> for TimestampSeconds<i64, Strict>
time_0_3 only.Source§fn deserialize_as<D>(deserializer: D) -> Result<OffsetDateTime, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<OffsetDateTime, D::Error>where
D: Deserializer<'de>,
Source§impl<'de, FORMAT> DeserializeAs<'de, OffsetDateTime> for TimestampSeconds<FORMAT, Flexible>where
FORMAT: Format,
Available on crate feature time_0_3 only.
impl<'de, FORMAT> DeserializeAs<'de, OffsetDateTime> for TimestampSeconds<FORMAT, Flexible>where
FORMAT: Format,
time_0_3 only.Source§fn deserialize_as<D>(deserializer: D) -> Result<OffsetDateTime, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<OffsetDateTime, D::Error>where
D: Deserializer<'de>,
Source§impl<'de> DeserializeAs<'de, OffsetDateTime> for TimestampSeconds<String, Strict>
Available on crate feature time_0_3 only.
impl<'de> DeserializeAs<'de, OffsetDateTime> for TimestampSeconds<String, Strict>
time_0_3 only.Source§fn deserialize_as<D>(deserializer: D) -> Result<OffsetDateTime, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<OffsetDateTime, D::Error>where
D: Deserializer<'de>,
Source§impl<'de> DeserializeAs<'de, OffsetDateTime> for TimestampSeconds<f64, Strict>
Available on crate feature time_0_3 only.
impl<'de> DeserializeAs<'de, OffsetDateTime> for TimestampSeconds<f64, Strict>
time_0_3 only.Source§fn deserialize_as<D>(deserializer: D) -> Result<OffsetDateTime, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<OffsetDateTime, D::Error>where
D: Deserializer<'de>,
Source§impl<'de> DeserializeAs<'de, PrimitiveDateTime> for TimestampSeconds<i64, Strict>
Available on crate feature time_0_3 only.
impl<'de> DeserializeAs<'de, PrimitiveDateTime> for TimestampSeconds<i64, Strict>
time_0_3 only.Source§fn deserialize_as<D>(deserializer: D) -> Result<PrimitiveDateTime, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<PrimitiveDateTime, D::Error>where
D: Deserializer<'de>,
Source§impl<'de, FORMAT> DeserializeAs<'de, PrimitiveDateTime> for TimestampSeconds<FORMAT, Flexible>where
FORMAT: Format,
Available on crate feature time_0_3 only.
impl<'de, FORMAT> DeserializeAs<'de, PrimitiveDateTime> for TimestampSeconds<FORMAT, Flexible>where
FORMAT: Format,
time_0_3 only.Source§fn deserialize_as<D>(deserializer: D) -> Result<PrimitiveDateTime, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<PrimitiveDateTime, D::Error>where
D: Deserializer<'de>,
Source§impl<'de> DeserializeAs<'de, PrimitiveDateTime> for TimestampSeconds<String, Strict>
Available on crate feature time_0_3 only.
impl<'de> DeserializeAs<'de, PrimitiveDateTime> for TimestampSeconds<String, Strict>
time_0_3 only.Source§fn deserialize_as<D>(deserializer: D) -> Result<PrimitiveDateTime, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<PrimitiveDateTime, D::Error>where
D: Deserializer<'de>,
Source§impl<'de> DeserializeAs<'de, PrimitiveDateTime> for TimestampSeconds<f64, Strict>
Available on crate feature time_0_3 only.
impl<'de> DeserializeAs<'de, PrimitiveDateTime> for TimestampSeconds<f64, Strict>
time_0_3 only.Source§fn deserialize_as<D>(deserializer: D) -> Result<PrimitiveDateTime, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<PrimitiveDateTime, D::Error>where
D: Deserializer<'de>,
Source§impl<'de> DeserializeAs<'de, SystemTime> for TimestampSeconds<i64, Strict>
impl<'de> DeserializeAs<'de, SystemTime> for TimestampSeconds<i64, Strict>
Source§fn deserialize_as<D>(deserializer: D) -> Result<SystemTime, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<SystemTime, D::Error>where
D: Deserializer<'de>,
Source§impl<'de, FORMAT> DeserializeAs<'de, SystemTime> for TimestampSeconds<FORMAT, Flexible>where
FORMAT: Format,
impl<'de, FORMAT> DeserializeAs<'de, SystemTime> for TimestampSeconds<FORMAT, Flexible>where
FORMAT: Format,
Source§fn deserialize_as<D>(deserializer: D) -> Result<SystemTime, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<SystemTime, D::Error>where
D: Deserializer<'de>,
Source§impl<'de> DeserializeAs<'de, SystemTime> for TimestampSeconds<String, Strict>
impl<'de> DeserializeAs<'de, SystemTime> for TimestampSeconds<String, Strict>
Source§fn deserialize_as<D>(deserializer: D) -> Result<SystemTime, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<SystemTime, D::Error>where
D: Deserializer<'de>,
Source§impl<'de> DeserializeAs<'de, SystemTime> for TimestampSeconds<f64, Strict>
impl<'de> DeserializeAs<'de, SystemTime> for TimestampSeconds<f64, Strict>
Source§fn deserialize_as<D>(deserializer: D) -> Result<SystemTime, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<SystemTime, D::Error>where
D: Deserializer<'de>,
Source§impl<T, F> JsonSchemaAs<T> for TimestampSeconds<F, Strict>where
T: TimespanSchemaTarget<F>,
F: Format + JsonSchema,
Available on crate feature schemars_0_8 only.
impl<T, F> JsonSchemaAs<T> for TimestampSeconds<F, Strict>where
T: TimespanSchemaTarget<F>,
F: Format + JsonSchema,
schemars_0_8 only.Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read moreSource§impl<T, F> JsonSchemaAs<T> for TimestampSeconds<F, Flexible>where
T: TimespanSchemaTarget<F>,
F: Format + JsonSchema,
Available on crate feature schemars_0_8 only.
impl<T, F> JsonSchemaAs<T> for TimestampSeconds<F, Flexible>where
T: TimespanSchemaTarget<F>,
F: Format + JsonSchema,
schemars_0_8 only.Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read moreSource§impl<TZ, STRICTNESS> SerializeAs<DateTime<TZ>> for TimestampSeconds<String, STRICTNESS>where
TZ: TimeZone,
STRICTNESS: Strictness,
Available on crate feature chrono_0_4 only.
impl<TZ, STRICTNESS> SerializeAs<DateTime<TZ>> for TimestampSeconds<String, STRICTNESS>where
TZ: TimeZone,
STRICTNESS: Strictness,
chrono_0_4 only.Source§fn serialize_as<S>(
source: &DateTime<TZ>,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
fn serialize_as<S>(
source: &DateTime<TZ>,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
Source§impl<TZ, STRICTNESS> SerializeAs<DateTime<TZ>> for TimestampSeconds<f64, STRICTNESS>where
TZ: TimeZone,
STRICTNESS: Strictness,
Available on crate feature chrono_0_4 only.
impl<TZ, STRICTNESS> SerializeAs<DateTime<TZ>> for TimestampSeconds<f64, STRICTNESS>where
TZ: TimeZone,
STRICTNESS: Strictness,
chrono_0_4 only.Source§fn serialize_as<S>(
source: &DateTime<TZ>,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
fn serialize_as<S>(
source: &DateTime<TZ>,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
Source§impl<TZ, STRICTNESS> SerializeAs<DateTime<TZ>> for TimestampSeconds<i64, STRICTNESS>where
TZ: TimeZone,
STRICTNESS: Strictness,
Available on crate feature chrono_0_4 only.
impl<TZ, STRICTNESS> SerializeAs<DateTime<TZ>> for TimestampSeconds<i64, STRICTNESS>where
TZ: TimeZone,
STRICTNESS: Strictness,
chrono_0_4 only.Source§fn serialize_as<S>(
source: &DateTime<TZ>,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
fn serialize_as<S>(
source: &DateTime<TZ>,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
Source§impl<STRICTNESS> SerializeAs<NaiveDateTime> for TimestampSeconds<String, STRICTNESS>where
STRICTNESS: Strictness,
Available on crate feature chrono_0_4 only.
impl<STRICTNESS> SerializeAs<NaiveDateTime> for TimestampSeconds<String, STRICTNESS>where
STRICTNESS: Strictness,
chrono_0_4 only.Source§fn serialize_as<S>(
source: &NaiveDateTime,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
fn serialize_as<S>(
source: &NaiveDateTime,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
Source§impl<STRICTNESS> SerializeAs<NaiveDateTime> for TimestampSeconds<f64, STRICTNESS>where
STRICTNESS: Strictness,
Available on crate feature chrono_0_4 only.
impl<STRICTNESS> SerializeAs<NaiveDateTime> for TimestampSeconds<f64, STRICTNESS>where
STRICTNESS: Strictness,
chrono_0_4 only.Source§fn serialize_as<S>(
source: &NaiveDateTime,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
fn serialize_as<S>(
source: &NaiveDateTime,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
Source§impl<STRICTNESS> SerializeAs<NaiveDateTime> for TimestampSeconds<i64, STRICTNESS>where
STRICTNESS: Strictness,
Available on crate feature chrono_0_4 only.
impl<STRICTNESS> SerializeAs<NaiveDateTime> for TimestampSeconds<i64, STRICTNESS>where
STRICTNESS: Strictness,
chrono_0_4 only.Source§fn serialize_as<S>(
source: &NaiveDateTime,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
fn serialize_as<S>(
source: &NaiveDateTime,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
Source§impl<STRICTNESS> SerializeAs<OffsetDateTime> for TimestampSeconds<String, STRICTNESS>where
STRICTNESS: Strictness,
Available on crate feature time_0_3 only.
impl<STRICTNESS> SerializeAs<OffsetDateTime> for TimestampSeconds<String, STRICTNESS>where
STRICTNESS: Strictness,
time_0_3 only.Source§fn serialize_as<S>(
source: &OffsetDateTime,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
fn serialize_as<S>(
source: &OffsetDateTime,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
Source§impl<STRICTNESS> SerializeAs<OffsetDateTime> for TimestampSeconds<f64, STRICTNESS>where
STRICTNESS: Strictness,
Available on crate feature time_0_3 only.
impl<STRICTNESS> SerializeAs<OffsetDateTime> for TimestampSeconds<f64, STRICTNESS>where
STRICTNESS: Strictness,
time_0_3 only.Source§fn serialize_as<S>(
source: &OffsetDateTime,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
fn serialize_as<S>(
source: &OffsetDateTime,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
Source§impl<STRICTNESS> SerializeAs<OffsetDateTime> for TimestampSeconds<i64, STRICTNESS>where
STRICTNESS: Strictness,
Available on crate feature time_0_3 only.
impl<STRICTNESS> SerializeAs<OffsetDateTime> for TimestampSeconds<i64, STRICTNESS>where
STRICTNESS: Strictness,
time_0_3 only.Source§fn serialize_as<S>(
source: &OffsetDateTime,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
fn serialize_as<S>(
source: &OffsetDateTime,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
Source§impl<STRICTNESS> SerializeAs<PrimitiveDateTime> for TimestampSeconds<String, STRICTNESS>where
STRICTNESS: Strictness,
Available on crate feature time_0_3 only.
impl<STRICTNESS> SerializeAs<PrimitiveDateTime> for TimestampSeconds<String, STRICTNESS>where
STRICTNESS: Strictness,
time_0_3 only.Source§fn serialize_as<S>(
source: &PrimitiveDateTime,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
fn serialize_as<S>(
source: &PrimitiveDateTime,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
Source§impl<STRICTNESS> SerializeAs<PrimitiveDateTime> for TimestampSeconds<f64, STRICTNESS>where
STRICTNESS: Strictness,
Available on crate feature time_0_3 only.
impl<STRICTNESS> SerializeAs<PrimitiveDateTime> for TimestampSeconds<f64, STRICTNESS>where
STRICTNESS: Strictness,
time_0_3 only.Source§fn serialize_as<S>(
source: &PrimitiveDateTime,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
fn serialize_as<S>(
source: &PrimitiveDateTime,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
Source§impl<STRICTNESS> SerializeAs<PrimitiveDateTime> for TimestampSeconds<i64, STRICTNESS>where
STRICTNESS: Strictness,
Available on crate feature time_0_3 only.
impl<STRICTNESS> SerializeAs<PrimitiveDateTime> for TimestampSeconds<i64, STRICTNESS>where
STRICTNESS: Strictness,
time_0_3 only.