@@ -384,6 +384,15 @@ public void Can_serialize_nullable_DateTime()
384384
385385 JsConfig . Reset ( ) ;
386386 }
387+
388+ [ Test ]
389+ public void Can_deserialize_LocalTime_using_ISO8601 ( )
390+ {
391+ var date = DateTime . Now ;
392+ var dateStr = date . ToJson ( ) ;
393+ var fromDate = dateStr . FromJson < DateTime > ( ) ;
394+ Assert . AreEqual ( date . ToLocalTime ( ) . RoundToSecond ( ) , fromDate . ToLocalTime ( ) . RoundToSecond ( ) ) ;
395+ }
387396 }
388397
389398 [ TestFixture ]
@@ -436,6 +445,15 @@ public void DateTime_Is_Serialized_As_Utc_and_Deserialized_as_local()
436445 Assert . AreEqual ( DateTimeKind . Utc , TypeSerializer . DeserializeFromString < TestObject > ( TypeSerializer . SerializeToString < TestObject > ( testObject ) ) . Date . Kind ) ;
437446 }
438447 }
448+
449+ [ Test ]
450+ public void Can_deserialize_LocalTime_using_RFC1123 ( )
451+ {
452+ var date = DateTime . Now ;
453+ var dateStr = date . ToJson ( ) ;
454+ var fromDate = dateStr . FromJson < DateTime > ( ) ;
455+ Assert . AreEqual ( date . ToLocalTime ( ) . RoundToSecond ( ) , fromDate . ToLocalTime ( ) . RoundToSecond ( ) ) ;
456+ }
439457 }
440458
441459 [ TestFixture ]
@@ -483,6 +501,15 @@ public void Can_serialize_UnixEpoch_DateTimes(int whichDate)
483501 var nearestSec = TimeSpan . FromSeconds ( 1 ) ;
484502 Assert . That ( fromJson . Date . RoundToSecond ( ) , Is . EqualTo ( dateTime . RoundToSecond ( ) ) ) ;
485503 }
504+
505+ [ Test ]
506+ public void Can_deserialize_LocalTime_using_UnixTime ( )
507+ {
508+ var date = DateTime . Now ;
509+ var dateStr = date . ToJson ( ) ;
510+ var fromDate = dateStr . FromJson < DateTime > ( ) ;
511+ Assert . AreEqual ( date . ToLocalTime ( ) . RoundToSecond ( ) , fromDate . ToLocalTime ( ) . RoundToSecond ( ) ) ;
512+ }
486513 }
487514
488515 [ TestFixture ]
@@ -531,4 +558,17 @@ public void Can_serialize_UnixEpochMs_DateTimes(int whichDate)
531558 Assert . That ( fromJson . Date . RoundToMs ( ) , Is . EqualTo ( dateTime . RoundToMs ( ) ) ) ;
532559 }
533560 }
561+
562+ public class DefaultDateTimeests
563+ {
564+ [ Test ]
565+ public void Can_deserialize_LocalTime_using_default_DateHandler ( )
566+ {
567+ var date = DateTime . Now ;
568+ var dateStr = date . ToJson ( ) ;
569+ var fromDate = dateStr . FromJson < DateTime > ( ) ;
570+ Assert . AreEqual ( date . ToLocalTime ( ) . RoundToSecond ( ) , fromDate . ToLocalTime ( ) . RoundToSecond ( ) ) ;
571+ }
572+ }
573+
534574}
0 commit comments