C# DateTime的 ParseExact和 TryParseExact 使用说明

最近需要把“20121010”转换为“2012-10-10”格式,直接用Convert.ToDateTime("20121010"),系统报错“未被识别的DateTime类型”。

解决方法:

一、DateTime.ParseExact

string str = "20121010";

IFormatProvider ifp = new CultureInfo("zh-CN", true);

DateTime dt = DateTime.ParseExact(str, "yyyyMMdd", ifp);

MessageBox.Show(dt.ToString("yyyy-MM-dd"));

二、DateTime.TryParseExact

string str = "20121010";

DateTime dt;

IFormatProvider ifp = new CultureInfo("zh-CN", true);

if (DateTime.TryParseExact(str, "yyyyMMdd", ifp, DateTimeStyles.None, out dt))

{

MessageBox.Show(dt.ToString(("yyyy-MM-dd"));

}