From 82c9345a4df4ebdba5636037a7e84be7ca629867 Mon Sep 17 00:00:00 2001 From: Kang Seonghoon Date: Thu, 19 Feb 2015 04:28:38 +0900 Subject: [PATCH] okay, new `DateTime::time` was incorrect. --- src/datetime.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/datetime.rs b/src/datetime.rs index 537dad4..b169dd3 100644 --- a/src/datetime.rs +++ b/src/datetime.rs @@ -49,7 +49,7 @@ impl DateTime { /// Unlike `date`, this is not associated to the time zone. #[inline] pub fn time(&self) -> NaiveTime { - self.datetime.time().clone() + self.datetime.time() + self.offset.local_minus_utc() } /// Returns the number of non-leap seconds since January 1, 1970 0:00:00 UTC @@ -331,6 +331,7 @@ impl str::FromStr for DateTime { mod tests { use super::DateTime; use Datelike; + use naive::time::NaiveTime; use duration::Duration; use offset::TimeZone; use offset::utc::UTC; @@ -363,6 +364,12 @@ mod tests { assert!(*EDT.ymd(2014, 5, 6).and_hms(7, 8, 9).offset() != EST); } + #[test] + fn test_datetime_time() { + assert_eq!(FixedOffset::east(5*60*60).ymd(2014, 5, 6).and_hms(7, 8, 9).time(), + NaiveTime::from_hms(7, 8, 9)); + } + #[test] fn test_datetime_from_str() { assert_eq!("2015-2-18T23:16:9.15Z".parse::>(),