今天遇到个问题,将"yyyyMMddHHmmss"直接用Convert.ToDateTime()转换时抛出个FormatException:该字符串未被识别为有效的 DateTime。
到网上搜索了一下,找到了解决方案:
string time1 = "20150123134045"; DateTime dt1 = DateTime.ParseExact(time1, "yyyyMMddHHmmss", CultureInfo.CurrentCulture); string time2 = "2015012313404500"; DateTime dt2 = DateTime.ParseExact(time2, "yyyyMMddHHmmssff", CultureInfo.CurrentCulture); string time3 = "201501231340450000"; DateTime dt3 = DateTime.ParseExact(time3, "yyyyMMddHHmmssffff", CultureInfo.CurrentCulture); string time4 = "2015,01,23,134045"; DateTime dt4 = DateTime.ParseExact(time4, "yyyy,MM,dd,HHmmss", CultureInfo.CurrentCulture);
DateTime.ParseExact这个方法支持将自定义的时间格式转成标准的DateTime时间。我就试了四种,其他的大家可以尝试下。
对了,用这个方法可以获取C#所有的时间格式:
DateTimeFormatInfo formatinfo = new DateTimeFormatInfo(); string[] arr = formatinfo.GetAllDateTimePatterns();