我有決議 DateTime 并將其格式化的代碼:
DateTime.Parse(DateTimeValueXY, CultureInfo.InvariantCulture).ToString("dd/MM/yyyy hh:mm:ss tt")
在一種情況下,我收到錯誤
字串未被識別為有效的日期時間。
對我來說令人困惑的事情如下:
當需要格式化的 DateTime 具有這種格式“ MM/dd/yyyy ”時,格式化作業:
// WORKS
DateTime.Parse("10/19/2022", CultureInfo.InvariantCulture).ToString("dd/MM/yyyy hh:mm:ss tt")
但是,如果 DateTime 已經具有正確的格式,則會引發上述錯誤:
// Error -> String was not recognized as a valid DateTime
DateTime.Parse("19/10/2022", CultureInfo.InvariantCulture).ToString("dd/MM/yyyy hh:mm:ss tt")
所以有兩個問題:
- 如果格式已經正確,為什么會引發錯誤?
- 如何處理需要格式化的 DateTime 可以同時具有兩種格式的事實?
uj5u.com熱心網友回復:
DateTime.Parse失敗不是ToString()因為輸入格式不正確。
您需要使用DateTime.ParseExact并提供正確的格式字串或使用有效格式(例如英國格式)DateTime.Parse:
DateTime.ParseExact("19/10/2022", "dd/MM/yyyy", CultureInfo.InvariantCulture);
或者
DateTime.Parse("19/10/2022", new CultureInfo("en-GB"));
回答您問題的第二部分“如何處理需要格式化的 DateTime 可以同時具有兩種格式的事實?” ,您應該使用上述任何一種方法來提供日期應該具有的格式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/521393.html
標籤:C#约会时间格式化
