我想解析DateTime(在C#中)從en-US
到de-DE
或只是以不同的格式。輸入日期時間是06/17/2015 09:22:30 AM
。DateTime.ParseExact不起作用,因爲我期望
我已經試過:
DateTime date = DateTime.ParseExact(dateString, "d.MM.yyyy HH:mm:ss", new CultureInfo("de-DE"));
兩個版本我有同樣的輸出
或
DateTime date = DateTime.ParseExact(dateString, "d.MM.yyyy HH:mm:ss", CultureInfo.InvariantCulture);
- 這意味着在輸出相同的輸入,一切都沒有改變。我可以在ToString()
方法中更改它,但我需要它作爲DateTime。
string test = datum.ToString("d.MM.yyyy HH:mm:ss");
output is `17.06.2015 09:22:30`
當前線程的CurrentCultureInfo可能是問題嗎?因爲當前線程設置爲CultureInfo en-US
。 我已將CultureInfo.DefaultThreadCurrentUICulture
設置爲de-DE
,但它也不起作用。
我失去了什麼?我相信這只是我腦海中的一個缺點。如果解決方案非常簡單 - 抱歉的時間 - 無論如何,謝謝你的每一個答案!
是否正確解析?我懷疑是因爲你在'06/17/2015 09:22:30 AM'上使用了錯誤的格式。所以這個問題我不清楚。什麼意思_「輸出 - 輸出==輸入」_? –
對不起,這個文本部分沒有寫得很清楚。只是想說輸出和輸入完全一樣!我的錯! –
'DateTime' *沒有格式*。如果你想要輸出特定的格式,它總是在'ToString'(或'string.Format'等)中。 'DateTime.ParseExact'只是將一個已知格式的字符串(注意你的錯誤)轉換爲'DateTime';但'DateTime'確實*不*保存關於格式的信息。只要使用正確的'ToString'過載,例如'datum.ToString(CultureInfo.GetCultureInfo( 「去-DE」))'。 – Luaan