我試圖加載datetime和時間字符串過程防止用戶系統設置的時間和日期字符串處理
DateTime strTime = DateTime.ParseExact(strTime.Trim(), "dd/MM/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);
我有幾個地方處理日期時間字符串,從dateTimePicker的:
UseDate = dateTimePicker1.Value.ToString("MMMM dd, yyyy - dddd");
寫作,然後從文件加載:
dateTimePicker3.Value = DateTime.ParseExact(DB, "yyyy-MM-dd", CultureInfo.InvariantCulture);
它的工作原理與正確的英語,但不知道如何防止如果用戶有像中國或俄羅斯不同的設置,在這種情況下,我得到:
An unhandled exception of type 'System.FormatException' occurred in mscorlib.dll
Additional information: String was not recognized as a valid DateTime.
我可以防止不同的標點符號的輸入替換"/"
,"."
,並且從字符串中刪除所有單詞,但在這種情況下,我我不知道如何找出正確的方法。
例如,在調試中,我看到strTime
與俄語"апреля 10, 2017 - понедельник"
字符串,但如何將其更改爲正確的可讀日期而無需單詞。我無法用正則表達式處理它,因爲結果我能得到這樣的102017
或至少10.20.17
但不10 April of 2017
必須是10.04.2017
或10/04/2017
或10-04-2017
,甚至在不同的順序4/10/2017
等
也許這可以幫助http://www.karaszi.com/SQLServer/info_datetime.asp#DtFormatsInput – GuidoG
哪裏呢你輸入來自?你可以製作一個只允許一種格式的編輯框,或者它來自外部來源,你無法做任何事情嗎? – GuidoG
@GuidoG你好,問題編輯 – nikorio