VB.Net Convert String To Date”ddd MMM d HH:mm:ss zz00 yyyy” —- VB.Net日期時間轉換的問題 “ddd MMM d HH:mm:ss zz00 yyyy”

今日在網上看到了一個 關於日期時間轉換的問題
這個日期的文字表示是這樣的 “Fri Aug 27 20:10:08 +0800 2010”
格式應該是 “ddd MMM d HH:mm:ss zz00 yyyy“,

如果我們直接把這個 String 轉換成DateTime E.G.

Dim dString as string  = "Fri Aug 27 20:10:08 +0800 2010"
MsgBox(Convert.ToDateTime(dString))

我們便會遇到這樣的Error 錯誤
FormatException was unhandled
String was not recognized as a valid DateTime.

 

所以我們便要動動腦筋…看看怎麼才能把 “Fri Aug 27 20:10:08 +0800 2010” 轉成DateTime

Dim cInfo As System.Globalization.CultureInfo
cInfo = System.Globalization.CultureInfo.CreateSpecificCulture("en-gb") ' 不同Locale/ Culture 都有不同的 DateFormat 的格式

Dim DateFormat As String = "ddd MMM d HH:mm:ss zz00 yyyy"
MsgBox(DateTime.Now.ToString(DateFormat, cInfo)) '用這段Code 可以用來看看 把現在的時間轉做上面的格式
Dim d As DateTime = DateTime.ParseExact(dString, DateFormat, cInfo) ' 這段CODE Convert String to Date
MsgBox(d) '當然要看看 能不能做到想要的效果

Hope you find it useful

Leave a Reply