Abbiamo un'applicazione di analisi i valori di data/ora nel seguente formato:Convert.ToDateTime provoca FormatException alla data pomeriggio/ora valori
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
Un particolare server di tutto l'improvviso (oggi) iniziate ad un'analisi non corretta qualsiasi ore 13:00:00 o successive. Questo particolare client ha cinque server e solo uno ha il problema. Abbiamo dozzine di altri client con un totale di centinaia di server senza il problema.
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)
ho fatto un test utilizzando DateTime.Parse (s, CultureInfo.CurrentCulture) a paragone di DateTime.Parse (s, CultureInfo.InvariantCulture) e il problema mostra solo con CurrentCulture. Tuttavia, CurrentCulture è "en-US", proprio come tutti gli altri server e non c'è nulla di diverso che posso trovare nelle impostazioni regionali o della lingua.
Qualcuno ha visto questo prima? Suggerimenti relativi a ciò che posso esaminare?
EDIT: Grazie per le risposte finora. Tuttavia, sto cercando suggerimenti su quale configurazione esaminare in modo che possa aver causato questo cambiamento improvviso del comportamento e smettere di funzionare quando ha funzionato per anni e funziona su centinaia di altri server. L'ho già cambiato per la prossima versione, ma sto cercando una modifica alla configurazione per correggerla nel frattempo per l'installazione corrente.
Sì, ma ... perché? Abbiamo lo stesso problema sporadicamente. Il nostro servizio Web converte un oggetto DateTime C# in una stringa e lo passa a una procedura di database di SQL Server che si aspetta una piccola data. Per qualche ragione, a volte questo sposta il tempo di 12 ore, quindi l'invio della data di oggi passa come oggi a mezzogiorno (12:00:00 PM) invece di oggi a mezzanotte (12:00:00). –