From f36b9f7856108b11ad6e30ca7e42bce6adf53730 Mon Sep 17 00:00:00 2001 From: Chris Cameron Date: Mon, 1 Apr 2019 16:47:08 -0400 Subject: [PATCH] fix: Fixing format exception when parsing JSON DateTime with timezone info --- ICD.Common.Utils.Tests/Json/JsonUtilsTest.cs | 6 +++++- ICD.Common.Utils/Json/JsonUtils.cs | 10 +--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/ICD.Common.Utils.Tests/Json/JsonUtilsTest.cs b/ICD.Common.Utils.Tests/Json/JsonUtilsTest.cs index fe77594..0eae21e 100644 --- a/ICD.Common.Utils.Tests/Json/JsonUtilsTest.cs +++ b/ICD.Common.Utils.Tests/Json/JsonUtilsTest.cs @@ -18,7 +18,11 @@ namespace ICD.Common.Utils.Tests.Json [Test] public void ParseDateTimeTest() { - Assert.Inconclusive(); + const string dataA = "2016-02-26T19:24:59"; + const string dataB = "2019-04-01T12:41:15-04:00"; + + Assert.DoesNotThrow(() => JsonUtils.ParseDateTime(dataA)); + Assert.DoesNotThrow(() => JsonUtils.ParseDateTime(dataB)); } [Test] diff --git a/ICD.Common.Utils/Json/JsonUtils.cs b/ICD.Common.Utils/Json/JsonUtils.cs index afdd0c3..903c271 100644 --- a/ICD.Common.Utils/Json/JsonUtils.cs +++ b/ICD.Common.Utils/Json/JsonUtils.cs @@ -1,5 +1,4 @@ using System; -using System.Globalization; using System.Linq; using System.Text; using ICD.Common.Properties; @@ -16,9 +15,6 @@ namespace ICD.Common.Utils.Json [PublicAPI] public static class JsonUtils { - // 2016-02-26T19:24:59 - private const string DATE_FORMAT = @"yyyy-MM-dd\THH:mm:ss"; - private const string MESSAGE_NAME_PROPERTY = "m"; private const string MESSAGE_DATA_PROPERTY = "d"; @@ -29,7 +25,7 @@ namespace ICD.Common.Utils.Json /// public static DateTime ParseDateTime(string data) { - return DateTime.ParseExact(data, DATE_FORMAT, CultureInfo.CurrentCulture); + return DateTime.Parse(data); } /// @@ -43,11 +39,7 @@ namespace ICD.Common.Utils.Json if (token == null) throw new ArgumentNullException("token"); -#if SIMPLSHARP return ParseDateTime((string)token); -#else - return (DateTime)token; -#endif } ///