From e6d65366e911828c446f3279d1e2e1cf9f99e4e9 Mon Sep 17 00:00:00 2001 From: PoiScript Date: Wed, 7 Aug 2019 19:29:55 +0800 Subject: [PATCH] feat(element): impl Into for &Datetime --- src/elements/timestamp.rs | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/src/elements/timestamp.rs b/src/elements/timestamp.rs index e4a1dea..890d982 100644 --- a/src/elements/timestamp.rs +++ b/src/elements/timestamp.rs @@ -80,11 +80,29 @@ mod chrono { impl Into for Datetime<'_> { fn into(self) -> NaiveDate { - NaiveDate::from_ymd(self.year.into(), self.month.into(), self.day.into()) + (&self).into() } } impl Into for Datetime<'_> { + fn into(self) -> NaiveTime { + (&self).into() + } + } + + impl Into for Datetime<'_> { + fn into(self) -> NaiveDateTime { + (&self).into() + } + } + + impl Into for &Datetime<'_> { + fn into(self) -> NaiveDate { + NaiveDate::from_ymd(self.year.into(), self.month.into(), self.day.into()) + } + } + + impl Into for &Datetime<'_> { fn into(self) -> NaiveTime { NaiveTime::from_hms( self.hour.unwrap_or_default().into(), @@ -94,13 +112,9 @@ mod chrono { } } - impl Into for Datetime<'_> { + impl Into for &Datetime<'_> { fn into(self) -> NaiveDateTime { - NaiveDate::from_ymd(self.year.into(), self.month.into(), self.day.into()).and_hms( - self.hour.unwrap_or_default().into(), - self.minute.unwrap_or_default().into(), - 0, - ) + NaiveDateTime::new(self.into(), self.into()) } } }