diff --git a/src/Orchard.Tests/Localization/DefaultDateFormatterTests.cs b/src/Orchard.Tests/Localization/DefaultDateFormatterTests.cs index 761a22813..52f99462a 100644 --- a/src/Orchard.Tests/Localization/DefaultDateFormatterTests.cs +++ b/src/Orchard.Tests/Localization/DefaultDateFormatterTests.cs @@ -52,6 +52,10 @@ namespace Orchard.Framework.Tests.Localization { IDateFormatter target = new DefaultDateFormatter(); var cultures = CultureInfo.GetCultures(CultureTypes.AllCultures); foreach (CultureInfo cultureInfo in cultures) { + // Due to a bug in .NET 4.5 in combination with updated Upper Sorbian culture in Windows 8. + if (System.Environment.OSVersion.Version.ToString().CompareTo("6.2.0.0") >= 0 && cultureInfo.Name.StartsWith("hsb")) { + continue; + } DateTime dateTime = new DateTime(2014, 12, 31, 10, 20, 40, 567); cultureInfo.DateTimeFormat.Calendar = new GregorianCalendar(); var dateString = dateTime.ToString("G", cultureInfo); diff --git a/src/Orchard/Localization/Services/DefaultDateFormatter.cs b/src/Orchard/Localization/Services/DefaultDateFormatter.cs index e1771fdea..98da1a2b4 100644 --- a/src/Orchard/Localization/Services/DefaultDateFormatter.cs +++ b/src/Orchard/Localization/Services/DefaultDateFormatter.cs @@ -97,8 +97,8 @@ namespace Orchard.Framework.Localization.Services { {"ddd", String.Format("(?{0})", String.Join("|", culture.DateTimeFormat.AbbreviatedDayNames))}, {"dd", "(?[0-9]{2})"}, {"d", "(?[0-9]{1,2})"}, - {"MMMM", String.Format("(?{0})", String.Join("|", culture.DateTimeFormat.MonthNames))}, - {"MMM", String.Format("(?{0})", String.Join("|", culture.DateTimeFormat.AbbreviatedMonthNames))}, + {"MMMM", String.Format("(?{0})", String.Join("|", culture.DateTimeFormat.MonthNames.Where(x => !String.IsNullOrEmpty(x))))}, + {"MMM", String.Format("(?{0})", String.Join("|", culture.DateTimeFormat.AbbreviatedMonthNames.Where(x => !String.IsNullOrEmpty(x))))}, {"MM", "(?[0-9]{2})"}, {"M", "(?[0-9]{1,2})"}, {"yyyyy", "(?[0-9]{5})"},