From 893d0c723d55c026ab854d0945a03186828d59b3 Mon Sep 17 00:00:00 2001 From: Jkorf Date: Tue, 25 Jan 2022 13:01:21 +0100 Subject: [PATCH] Fixed DateTime converter for nanosecond times in string format --- CryptoExchange.Net.UnitTests/ConverterTests.cs | 1 + CryptoExchange.Net/Converters/DateTimeConverter.cs | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CryptoExchange.Net.UnitTests/ConverterTests.cs b/CryptoExchange.Net.UnitTests/ConverterTests.cs index a4f43f8..d151fe6 100644 --- a/CryptoExchange.Net.UnitTests/ConverterTests.cs +++ b/CryptoExchange.Net.UnitTests/ConverterTests.cs @@ -19,6 +19,7 @@ namespace CryptoExchange.Net.UnitTests [TestCase("1620777600.000")] [TestCase("1620777600000")] [TestCase("2021-05-12T00:00:00.000Z")] + [TestCase("2021-05-12T00:00:00.000000000Z")] [TestCase("", true)] [TestCase(" ", true)] public void TestDateTimeConverterString(string input, bool expectNull = false) diff --git a/CryptoExchange.Net/Converters/DateTimeConverter.cs b/CryptoExchange.Net/Converters/DateTimeConverter.cs index 2e08601..8787114 100644 --- a/CryptoExchange.Net/Converters/DateTimeConverter.cs +++ b/CryptoExchange.Net/Converters/DateTimeConverter.cs @@ -1,4 +1,5 @@ using Newtonsoft.Json; +using Newtonsoft.Json.Linq; using System; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; @@ -110,7 +111,7 @@ namespace CryptoExchange.Net.Converters return new DateTime(year, month, day, 0, 0, 0, DateTimeKind.Utc); } - return JsonConvert.DeserializeObject(stringValue); + return DateTime.Parse(stringValue, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeUniversal); } else if(reader.TokenType == JsonToken.Date) {