2013年10月24日 星期四

[轉貼] 用TryParseExact將特殊日期格式轉回DateTime

出處:http://www.dotblogs.com.tw/kyleshen/archive/2013/07/30/112937.aspx

一般日期轉換,我都會用DateTime.TryParse來轉換,但如果不注意的話,會發生日期完全不對或失敗的問題…
日期不對舉凡像有些系統會使用05/07/2013這種格式,心裡想的是七月五號,但轉換後會變成五月七號,另外一種情況就是自訂格式轉換的問題,今天收到客戶送過來的日期格式如下"2013/07/22 @ 20:00:15:4324",如果用DateTime.TryParse就會回傳false,這時就要用DateTime.TryParseExact():
01//特殊格式
02string DateStr = "2013/07/22 @ 20:00:15:4324";
03DateTime _date;
04 
05//錯誤的轉換方式,回傳False
06if (DateTime.TryParse(DateStr, out _date))
07{
08    //TryParse轉換成功
09}
10 
11//正確轉換方式
12if(DateTime.TryParseExact(DateStr, "yyyy/MM/dd @ HH:mm:ss:ffff"null, System.Globalization.DateTimeStyles.None, out _date))
13{
14    //TryParseExact轉換成功
15}

沒有留言:

張貼留言