1:String转DateTime
2005-6-7 12:23:34,因此当设置时间格式为: yyyy-MM-dd HH:mm:ss 去调用DateTime::ParseExact函数的时候就出现了异常,提示是时间格式不匹配。这就提醒我们,在设定时间格式后,调用DateTime::ParseExact去把一个字符串转成DateTime对象,必须保证这个字符串的格式和我们设定的要转换的时间格式一致,否则就会有异常。
string mytime = "2005-6-7 12:23:34";
IFormatProvider culture = new CultureInfo("zh-CN", true);
//期望的时间格式为月,日必须为两位,不足两位,左边应该填0补充
string[] expectedFormats = {"yyyy-MM-dd HH:mm:ss"};
DateTime dt =
DateTime.ParseExact(mytime,
expectedFormats,
culture,
DateTimeStyles.AllowInnerWhite);
改正的方法有两个:
1. string mytime = "2005-6-7 12:23:34"; 改为: string mytime = "2005-06-07 12:23:34";
2. 期望的格式从string[] expectedFormats = {"yyyy-MM-dd HH:mm:ss"}; 改为: string[] expectedFormats = {"yyyy-M-d HH:mm:ss"};
2: 将DataTime 按格式化输出(类成员函数)
DataTime ToString(string format);
DataTime ToString(IFormatProvider provider);
DataTIme ToString(string format, IFormatProvider provider);