diff --git a/src/Skybrud.Essentials/Time/EssentialsDate.cs b/src/Skybrud.Essentials/Time/EssentialsDate.cs index 7a787ac..9cc4a80 100644 --- a/src/Skybrud.Essentials/Time/EssentialsDate.cs +++ b/src/Skybrud.Essentials/Time/EssentialsDate.cs @@ -585,7 +585,7 @@ public static bool TryParse(string input, out EssentialsDate result) { if (string.IsNullOrWhiteSpace(input)) return false; // Attempt to parse the date - if (DateTime.TryParse(input, out DateTime dt)) { + if (DateTime.TryParse(input, CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime dt)) { result = new EssentialsDate(dt); } diff --git a/src/UnitTestProject1/Time/EssentialsDateTests.cs b/src/UnitTestProject1/Time/EssentialsDateTests.cs index 6012e23..a98bcef 100644 --- a/src/UnitTestProject1/Time/EssentialsDateTests.cs +++ b/src/UnitTestProject1/Time/EssentialsDateTests.cs @@ -23,6 +23,29 @@ public void YearAndDay() { } + [TestMethod] + public void TryParse1() { + + bool success1 = EssentialsDate.TryParse("2019-08-17", out EssentialsDate result1); + bool success2 = EssentialsDate.TryParse("08/17/2019", out EssentialsDate result2); + bool success3 = EssentialsDate.TryParse("17/08/2019", out EssentialsDate result3); + + Assert.AreEqual(true, success1, "#1"); + Assert.AreEqual(true, success2, "#2"); + Assert.AreEqual(false, success3, "#3"); + + Assert.AreEqual(2019, result1.Year); + Assert.AreEqual(8, result1.Month); + Assert.AreEqual(17, result1.Day); + + Assert.AreEqual(2019, result2.Year); + Assert.AreEqual(8, result2.Month); + Assert.AreEqual(17, result2.Day); + + Assert.IsNull(result3); + + } + [TestMethod] public void TryParse() {