Aligned NaiveDateTime formatting with DateTime

Fixes #526

Chrono uses `%Y-%m-%dT%H:%M:%S%.f%:z` for it's RCC3339 formatting implementation. See 3467172c31/src/format/mod.rs (L680)
This commit is contained in:
Oliver Cooper 2021-06-03 10:12:32 +12:00
parent 7a28ce8015
commit b6dcb02df8

View File

@ -20,13 +20,13 @@ impl ScalarType for NaiveDate {
impl ScalarType for NaiveTime {
fn parse(value: Value) -> InputValueResult<Self> {
match value {
Value::String(s) => Ok(NaiveTime::parse_from_str(&s, "%H:%M:%S")?),
Value::String(s) => Ok(NaiveTime::parse_from_str(&s, "%H:%M:%S%.f")?),
_ => Err(InputValueError::expected_type(value)),
}
}
fn to_value(&self) -> Value {
Value::String(self.format("%H:%M:%S").to_string())
Value::String(self.format("%H:%M:%S%.f").to_string())
}
}
@ -34,12 +34,12 @@ impl ScalarType for NaiveTime {
impl ScalarType for NaiveDateTime {
fn parse(value: Value) -> InputValueResult<Self> {
match value {
Value::String(s) => Ok(NaiveDateTime::parse_from_str(&s, "%Y-%m-%d %H:%M:%S")?),
Value::String(s) => Ok(NaiveDateTime::parse_from_str(&s, "%Y-%m-%dT%H:%M:%S%.f")?),
_ => Err(InputValueError::expected_type(value)),
}
}
fn to_value(&self) -> Value {
Value::String(self.format("%Y-%m-%d %H:%M:%S").to_string())
Value::String(self.format("%Y-%m-%dT%H:%M:%S%.f").to_string())
}
}