我們有以下格式的應用程序解析日期/時間值:Convert.ToDateTime導致出現FormatException上下午的日期/時間值
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
一個特定的服務器所有的突然(今天)的啓動未能解析任何時間13:00:00或更晚。這個特定的客戶端有五臺服務器,只有一臺有問題。我們有數十個其他客戶端,總共數百臺服務器沒有問題。
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)
我跑使用DateTime.Parse(S,CultureInfo.CurrentCulture)comapred到DateTime.Parse(S,CultureInfo.InvariantCulture)和問題只示出了一個的CurrentCulture測試。但是,CurrentCulture與所有其他服務器一樣是「en-US」,並且在區域或語言設置中沒有什麼不同。
有沒有人見過這個?有關我可以研究的建議?
編輯:謝謝你到目前爲止的答案。然而,我正在尋找什麼樣的配置進行研究,這可能會導致它突然改變行爲,並在多年的工作中停止工作,並在數百臺其他服務器上運行。我已經改變了它的下一個版本,但我正在尋找一個配置更改,以在當前安裝的過渡期修復此問題。
是的,但是...爲什麼?我們偶爾也有同樣的問題。我們的Web服務將C#DateTime對象轉換爲字符串,並將其傳遞給SQL Server數據庫過程,該過程需要一個smalldatetime。出於某種原因,有時這會將時間轉移12小時,因此發送今天的日期會在今天中午(中午12:00:00)而不是今天午夜(中午12:00:00)發生。 – 2012-10-10 20:46:48