diff --git a/CryptoExchange.Net/Converters/JsonNet/DateTimeConverter.cs b/CryptoExchange.Net/Converters/JsonNet/DateTimeConverter.cs index b403815..c5cb7fd 100644 --- a/CryptoExchange.Net/Converters/JsonNet/DateTimeConverter.cs +++ b/CryptoExchange.Net/Converters/JsonNet/DateTimeConverter.cs @@ -68,6 +68,21 @@ namespace CryptoExchange.Net.Converters.JsonNet return objectType == typeof(DateTime) ? default(DateTime) : null; } + if (stringValue.Length == 12 && stringValue.StartsWith("202")) + { + // Parse 202303261200 format + if (!int.TryParse(stringValue.Substring(0, 4), out var year) + || !int.TryParse(stringValue.Substring(4, 2), out var month) + || !int.TryParse(stringValue.Substring(6, 2), out var day) + || !int.TryParse(stringValue.Substring(8, 2), out var hour) + || !int.TryParse(stringValue.Substring(10, 2), out var minute)) + { + Trace.WriteLine($"{DateTime.Now:yyyy/MM/dd HH:mm:ss:fff} | Warning | Unknown DateTime format: " + reader.Value); + return default; + } + return new DateTime(year, month, day, hour, minute, 0, DateTimeKind.Utc); + } + if (stringValue.Length == 8) { // Parse 20211103 format diff --git a/CryptoExchange.Net/Converters/SystemTextJson/DateTimeConverter.cs b/CryptoExchange.Net/Converters/SystemTextJson/DateTimeConverter.cs index cd8fb2f..9cf9608 100644 --- a/CryptoExchange.Net/Converters/SystemTextJson/DateTimeConverter.cs +++ b/CryptoExchange.Net/Converters/SystemTextJson/DateTimeConverter.cs @@ -68,7 +68,22 @@ namespace CryptoExchange.Net.Converters.SystemTextJson return default; } - if (stringValue!.Length == 8) + if (stringValue!.Length == 12 && stringValue.StartsWith("202")) + { + // Parse 202303261200 format + if (!int.TryParse(stringValue.Substring(0, 4), out var year) + || !int.TryParse(stringValue.Substring(4, 2), out var month) + || !int.TryParse(stringValue.Substring(6, 2), out var day) + || !int.TryParse(stringValue.Substring(8, 2), out var hour) + || !int.TryParse(stringValue.Substring(10, 2), out var minute)) + { + Trace.WriteLine($"{DateTime.Now:yyyy/MM/dd HH:mm:ss:fff} | Warning | Unknown DateTime format: " + reader.Value); + return default; + } + return new DateTime(year, month, day, hour, minute, 0, DateTimeKind.Utc); + } + + if (stringValue.Length == 8) { // Parse 20211103 format if (!int.TryParse(stringValue.Substring(0, 4), out var year)