我的應用程序有一個DateTime選擇器控件,以下列格式發送選定日期:「Wed Mar 01 2017」,在服務器端我在做Convert.ToDateTime(「Wed Mar 01 2017」 )。 隨着一切日期,直到今天這項工作很好,但與「2017年3月1日星期三」拋出無效格式異常。 這是爲什麼?Wed 2017年3月3日星期三無效的日期時間字符串格式
0
A
回答
1
您需要使用ParseExact
或TryParseExact
,並指定喜歡的格式:
DateTime dt;
if(DateTime.TryParseExact("Wed Mar 01 2017","ddd MMM dd yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
{
//invalid date
}
它之所以失敗你的機器上是由於不支持格式的文化,否則你的代碼應工作爲en-US
文化。
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
DateTime dt = Convert.ToDateTime("Wed Mar 01 2017");
只要確保您的機器上的文化沒有改變。
爲了安全起見,使用InvariantCulture
格式解析日期總是一個更好的主意,這樣您就可以支持跨多種文化的應用程序。
0
DateTime.ParseExcact("Wed Mar 01 2017","ddd MMM dd yyyy",CultureInfo.InvariantCulture);
0
試試這個代碼
var date = "Wed Mar 01 2017";
Console.WriteLine(DateTime.ParseExact(date, "ddd MMM dd yyyy", CultureInfo.InvariantCulture));
相關問題
- 1. 更改日期格式8月3日/ 2017年2017年3月8日
- 2. 解析字符串爲日期時間格式「日,月dat,年」
- 3. 日期的Java日期格式字符串「2013年1月2日星期三下午5:29:26 +02:00」
- 4. SAHI公司臨 - 無法從「星期四2017年3月2日」更改日期格式爲「MM/DD/YYYY」
- 5. 格式日期喜歡:3月1日,星期一
- 6. 日期,月日,年的日期格式
- 7. 解析這種字符串到日期時間 - 「星期五2013年3月22日」(C#)
- 8. 回聲每月第三個星期四開始2016年3月3日
- 9. 如何將日月日期時間轉換爲oracle日期?格式爲Wed May 03 00:00:00 IST 2017
- 10. 日期格式:無效月
- 11. strtotime(「2017年9月5日星期五」)返回「2017年10月2日」?
- 12. 日期格式日期月 - 年
- 13. 以下格式的比較日期:2012年8月20日星期三10:14
- 14. 將2017-03-01轉換爲2017年3月1日格式inPHP
- 15. C#將日期時間轉換爲2014年7月26日星期四格式
- 16. 安卓字符串日期時間格式與月和日
- 17. 2017年3月1日DateTime.Parse問題
- 18. java.time.DateTimeException:無效日期'2月29日'爲'2017'不是閏年Java
- 19. 字符串無效日期時間
- 20. 格式日期3位數的年份
- 21. 日期時間格式的字符串
- 22. 替換字符串(3-11-2012)與其他日期格式(2012年11月3日)
- 23. 從字符串到日期格式的日期更改格式3
- 24. 如何轉換日期(星期一,2017年1月2日15:46:23 GMT)日期格式化數據在mysql
- 25. 修改月份的日期時間短名稱格式化日期字符串
- 26. JavaScript的日期格式爲日/月/年
- 27. 日期和時間2017年5月19日星期五,並與當前日期比較
- 28. 將字符串轉換爲日期時間格式無效System.Datetime
- 29. C#日期時間解析「無效格式字符串」
- 30. 日期時間格式轉換無效字符串
檢查:http://stackoverflow.com/questions/18961520/why-datetime-parseexactstring-string-iformatprovider-need-the -iformatprovide –
請標記正確的答案,並upvote有用的答案! – Sameer