我創(chuàng)建了一個按以下方式使用 DateTime.ParseExact 的應(yīng)用程序:DateTime.ParseExact(extractedFileDate, "ddd MMM dd HH:mm:ss yyyy", CultureInfo.CurrentCulture, System.Globalization.DateTimeStyles.None);ExtractedFileDate 存儲帶有日期的字符串,例如:“Tue Oct 08 12:07:13 2013”當(dāng)我在 Windows 10 上從計(jì)算機(jī)運(yùn)行我的應(yīng)用程序時,一切都運(yùn)行順利,但是當(dāng)我嘗試在 Windows Server 2016 上運(yùn)行相同的應(yīng)用程序時,我收到“字符串未被識別為有效的日期時間”錯誤消息。日期字符串的內(nèi)容顯示相同的值。它會是什么?
2 回答

瀟瀟雨雨
TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個贊
區(qū)域性DateTimeInfo
包含有關(guān)如何解析字符串的特定信息。例如,一年中的星期幾、月份的名稱。
您的格式字符串包含ddd MMM
要解析的字符串Tue Oct
,因此當(dāng)服務(wù)器配置了另一種區(qū)域性時,這可能會出現(xiàn)問題。
您正在使用CultureInfo.CurrentCulture
. 解析字符串時嘗試使用您的桌面區(qū)域性。
更新:在您的評論中,您詢問如何支持多種文化。在數(shù)據(jù)傳輸或存儲的情況下,最好的方法是CultureInfo.InvariantCulture
在(反)序列化時使用DateTime
。這種文化獨(dú)立于當(dāng)?shù)丨h(huán)境。當(dāng)向用戶(在 GUI 中)呈現(xiàn)時,使用默認(rèn)(用戶配置的)區(qū)域性。

慕田峪7331174
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個贊
解決方案:
DateTime.ParseExact(extractedFileDate, "ddd MMM dd HH:mm:ss yyyy", CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
- 2 回答
- 0 關(guān)注
- 141 瀏覽
添加回答
舉報
0/150
提交
取消