我有將 23/09/21 或 09/23/21 轉換為有效日期時間的困惑
23/09/21 指開發環境, 09/23/21 指客戶部署環境
string _tmpCreatedDate = ((SAPbouiCOM.EditText)b1MatrixUser.Columns.Item("Col_8").Cells.Item(i 1).Specific).Value;
因此變成 string _tmpCreatedDate = "23/09/21";
DateTime _swapCreatedDate = Convert.ToDateTime(_tmpCreatedDate);
上面的代碼將輸出字串未被識別為有效的日期時間。
試過了 _tmpCreatedDate = Convert.ChangeType(_tmpCreatedDate, typeof(DateTime)).ToString();
同樣,同樣的轉換問題,因為輸入字串是動態的 dd/MM/yy 或 MM/dd/yy 如何以正確的方式處理這個問題?
uj5u.com熱心網友回復:
我認為你可以簡單地使用 DateTime.ParseExact
DateTime dt = DateTime.ParseExact(_tmpCreatedDate , "MM/dd/yyyy",CultureInfo.InvariantCulture);
在這里閱讀更多CultureInfo.InvariantCulture 屬性 和DateTime.ParseExact
uj5u.com熱心網友回復:
添加為評論,但對于 OP 請求,我添加了一個答案:
您可以在應用程式的配置中指定日期格式或在代碼中檢測,如果是開發模式,則在應用程式啟動時,您可以將適當的格式保存在某個全域變數中。
一個想法,如果您使用依賴注入,將定義一些日期提供程式服務,甚至您可以嘗試指定自己的IFormatProvider或類似的東西,然后在決議DateTime.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/342518.html
上一篇:如何從SQL中的日期檢索星期幾?
下一篇:C#服務器端管理UTC日期
