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);