From 2e9f6cd94bfc9e3dac446d0e5b3851806e4e0af2 Mon Sep 17 00:00:00 2001 From: Qstick Date: Thu, 23 Feb 2023 20:04:45 -0600 Subject: [PATCH] More Improvement to unix timestamp performance --- src/NzbDrone.Common/Extensions/StringExtensions.cs | 13 +++++++++++++ src/NzbDrone.Core/Parser/DateTimeUtil.cs | 3 ++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/NzbDrone.Common/Extensions/StringExtensions.cs b/src/NzbDrone.Common/Extensions/StringExtensions.cs index b35d0afb1..495bfc6ac 100644 --- a/src/NzbDrone.Common/Extensions/StringExtensions.cs +++ b/src/NzbDrone.Common/Extensions/StringExtensions.cs @@ -257,5 +257,18 @@ namespace NzbDrone.Common.Extensions { return input.Contains(':') ? $"[{input}]" : input; } + + public static bool IsAllDigits(this string input) + { + foreach (var c in input) + { + if (c < '0' || c > '9') + { + return false; + } + } + + return true; + } } } diff --git a/src/NzbDrone.Core/Parser/DateTimeUtil.cs b/src/NzbDrone.Core/Parser/DateTimeUtil.cs index 6afccf193..ca98c2af0 100644 --- a/src/NzbDrone.Core/Parser/DateTimeUtil.cs +++ b/src/NzbDrone.Core/Parser/DateTimeUtil.cs @@ -2,6 +2,7 @@ using System; using System.Globalization; using System.Linq; using System.Text.RegularExpressions; +using NzbDrone.Common.Extensions; namespace NzbDrone.Core.Parser { @@ -123,7 +124,7 @@ namespace NzbDrone.Core.Parser str = str.Trim(); // try parsing the str as an unix timestamp - if (str.All(char.IsDigit) && long.TryParse(str, out var unixTimeStamp)) + if (str.IsAllDigits() && long.TryParse(str, out var unixTimeStamp)) { return UnixTimestampToDateTime(unixTimeStamp); }