From 6eb68a12142f4bab73fd28fc3f2a679fc9cfa26f Mon Sep 17 00:00:00 2001 From: beppemarazzi Date: Thu, 2 Aug 2018 09:36:53 +0200 Subject: [PATCH 1/2] add test for #105 --- tests/Utf8Json.Tests/DateAndTime.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/Utf8Json.Tests/DateAndTime.cs b/tests/Utf8Json.Tests/DateAndTime.cs index 273e46a7..921a7325 100644 --- a/tests/Utf8Json.Tests/DateAndTime.cs +++ b/tests/Utf8Json.Tests/DateAndTime.cs @@ -142,6 +142,13 @@ public void Issue20() deserialized.StatusDate.Is(new DateTimeOffset(1970, 1, 1, 9, 15, 10, TimeSpan.Zero)); } + [Fact] + public void Issue105() + { + JsonSerializer.Deserialize("\"88.12:00:00\"").Is(TimeSpan.FromDays(88.5)); + JsonSerializer.Deserialize("\"8.12:00:00\"").Is(TimeSpan.FromDays(8.5)); + } + public class Test { public bool Flag { get; set; } From 0d88649b5b528f1544f6c370431b1ff4fe929b42 Mon Sep 17 00:00:00 2001 From: beppemarazzi Date: Thu, 2 Aug 2018 09:38:44 +0200 Subject: [PATCH 2/2] fix #105 --- src/Utf8Json/Formatters/DateTimeFormatter.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Utf8Json/Formatters/DateTimeFormatter.cs b/src/Utf8Json/Formatters/DateTimeFormatter.cs index 3ddb2724..50b2392d 100644 --- a/src/Utf8Json/Formatters/DateTimeFormatter.cs +++ b/src/Utf8Json/Formatters/DateTimeFormatter.cs @@ -901,8 +901,8 @@ public TimeSpan Deserialize(ref JsonReader reader, IJsonFormatterResolver format { poolArray[day++] = array[i]; } + poolArray[day] = array[i++]; // skip '.' and fix #105 day = new JsonReader(poolArray).ReadInt32(); - i++; // skip '.' } finally {