1.與Date.Parse()方法的區別:
Date.Parse(object o)方法接受一個object類型的參數,當參數爲空或轉換失敗時會拋出異常
DateTime.TryParse方法不會拋出異常
2.用法介紹
方法定義 : DateTime.TryParse(string strTime,out parseValue);
用法示例:
string s = "2016-09-08 18:38:50";
DateTime result;
bool result = DateTime.TryParse(s,out result);
說明:
DateTime.TryParse()方法
接收一個可以轉換爲時間對象的字符串,接收一個DateTime類型的輸出結果。
返回一個bool類型的結果指示轉換是否成功。
3. 萬能時間轉換
DateTime ParseExact(string s, string format, IFormatProvider provider);
第一個參數是需要轉換成 DateTime格式的字符串,第二個參數format是轉換後的樣式,第三個參數爲CultureInfo.CurrentCulture獲取當前線程的區域信息中
例:
DateTime.Parse(“11/3/2005 10:29:41 AM”)
輸出的結果:
String was not recognized as a valid DateTime
解決:
DateTime.ParseExact(“27/03/2005 10:46:02 AM”,”dd/MM/yyyy HH:mm:ss tt”,System.Globalization.CultureInfo.InvariantCulture));
輸出:
2005-3-27 10:46:02
進行時間轉換時,用dateTime.parse()轉換時出錯,可以嘗試DateTime.parseExact()方法
// "58961 20-04-22 07:22:32 50 0 0 900.6 UTC(NIST) *"
//netTime = System.DateTime.Parse(s[1].Substring(3,2) +"-" +s[1].Substring(6,2) +"-" +s[1].Substring(0,2) +" " + s[2]);
//netTime = Convert.ToDateTime(s[1] + " " + s[2]);//得到標準時間
Debug.Log("得到的標準日期是:s[1] = "+s[1]);
netTime = System.DateTime.ParseExact(s[1] + " " + s[2], "yy-MM-dd HH:mm:ss",System.Globalization.CultureInfo.InvariantCulture);
Debug.Log("轉換後的標準日期是:netTime= "+ netTime);
netTime = netTime.ToLocalTime();
Debug.Log("轉換後的本地日期是:netTime = "+netTime);