mamy analizowania aplikacji wartości daty/godziny w następującym formacie:Convert.ToDateTime powoduje FormatException na bieżąco popołudnie/ceni czas
2009-10-10 09:19:12.124
2009-10-10 12:13:14.852
2009-10-10 13:00:00
2009-10-10 15:23:32.022
jednego konkretnego serwera wszystkie z nagłym (dzisiaj) rozpoczęte braku analizować każdy razy 13:00:00 lub później. Ten konkretny klient ma pięć serwerów i tylko jeden ma problem. Mamy dziesiątki innych klientów z setkami serwerów bez problemu.
System.FormatException: String was not recognized as a valid DateTime.
at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)
at System.DateTime.Parse(String s, IFormatProvider provider)
at System.Convert.ToDateTime(String value, IFormatProvider provider)
at System.String.System.IConvertible.ToDateTime(IFormatProvider provider)
at System.Convert.ToDateTime(Object value)
I prowadziła badanie przy DateTime.Parse (s, CultureInfo.CurrentCulture) comapred do DateTime.Parse (s, CultureInfo.InvariantCulture) i problem pokazuje tylko z CurrentCulture. Jednak CurrentCulture jest "en-US", podobnie jak wszystkie inne serwery i nie ma nic, co można znaleźć w ustawieniach regionalnych lub językowych.
Czy ktoś to widział wcześniej? Sugestie dotyczące tego, na co mogę spojrzeć?
EDYCJA: Dziękuję za odpowiedzi do tej pory. Jednak szukam sugestii na temat konfiguracji, która mogła spowodować zmianę zachowania i przestać działać, gdy działa od lat i działa na setkach innych serwerów. Już zmieniłem to dla następnej wersji, ale szukam zmiany konfiguracji, aby naprawić to w międzyczasie dla bieżącej instalacji.
Tak, ale ... dlaczego? Ten sam problem występuje sporadycznie. Nasz serwis internetowy konwertuje obiekt C# DateTime na ciąg znaków i przekazuje go do procedury bazy danych programu SQL Server, która oczekuje niewielkiego czasu. Z jakiegoś powodu czasami przesuwa to czas o 12 godzin, więc wysłanie dzisiejszej daty mija tak jak dziś w południe (12:00:00) zamiast dzisiaj o północy (12:00:00). –