string转DateTime
/// <summary> /// 字符串转时间 /// </summary> /// <param name="dateString">时间字符串</param> /// <param name="format">时间的原始格式 比如yyyyMMdd(美国佬时间时可不设置)</param> /// <param name="isUsType">是否是美国佬时间(02 23 2021 4:35PM)这种就是指美国佬时间</param> /// <returns></returns> public static DateTime ConvertDateTime(string dateString, string format, bool isUsType) { DateTime result; if (isUsType) { DateTimeFormatInfo dtfi = new CultureInfo("en-US", false).DateTimeFormat; dtfi.ShortTimePattern = "t"; result = DateTime.Parse(dateString, dtfi); } else { CultureInfo provider = new CultureInfo("fr-FR"); result = DateTime.ParseExact(dateString, format, provider); } return result; }
需要引入命名空间 using System.Globalization;
发现用Convert.ToDateTime(xxxx)在转一些特殊的时间格式的时候,比如说"yyyyMMdd"、"yyyyMMddHHmmss"这种会报错。但是如果中间有符号的,比如说"yyyy-MM-dd HH:mm:ss"就不会报错,用上面那段代码是都可以使用。