Mam dziwne niepowodzenie sprawdzania poprawności w witrynie ASP.NET MVC 3 z pola tekstowego, który akceptuje datetime wybrana za pośrednictwem jqueryui. Witryna została dostosowana do pracy tylko z kulturą es-ES i działa przez większość czasu, ale walidacja kończy się niepowodzeniem za każdym razem, gdy w tym polu tekstowym używany jest określony miesiąc. Metoda DateTime.Parse działa dla każdego miesiąca, z wyjątkiem marszu:datetime.parse nie udaje się na marzec w języku hiszpańskim, co drugi miesiąc działa
DateTime.Parse("15-feb-2012",CultureInfo.GetCultureInfo("es"), DateTimeStyles.None)
{15/02/2012 0:00:00}
Date: {15/02/2012 0:00:00}
DateTime.Parse("15-ene-2012",CultureInfo.GetCultureInfo("es"), DateTimeStyles.None)
{15/01/2012 0:00:00}
Date: {15/01/2012 0:00:00}
DateTime.Parse("15-abr-2012",CultureInfo.GetCultureInfo("es"), DateTimeStyles.None)
{15/04/2012 0:00:00}
Date: {15/04/2012 0:00:00}
...
co miesiąc prac z wyjątkiem marca Marzo w hiszpański ...
DateTime.Parse("15-mar-2012",CultureInfo.GetCultureInfo("es"), DateTimeStyles.None)
DateTime.Parse("15-mar-2012",CultureInfo.GetCultureInfo("es"), DateTimeStyles.None)' threw an exception of type 'System.FormatException'
base {System.SystemException}: {"String was not recognized as a valid DateTime."}
Każdy pomysł?
Czy sprawdziłeś fora i/lub dokumentację online, aby upewnić się, że twój skrót miesiąca specyficzny dla danej kultury jest poprawny? –
Może nie być pewne, czy interpretować go jako "mar" dla "marzo" czy "martes" - spróbuj określić format daty za pomocą programu ParseExact. – Random832
Nie miałem z tym problemu. Być może robię to źle. Czy możesz odtworzyć w mniejszym środowisku testowym (aplikacja konsolowa lub coś podobnego) i wkleić metodę, aby to udowodnić? –