今天遇到一个需要将一个时间字符串软件为时间格式,
源字符串格式为:20081024132532
目标时间格式为:2008-10-24 13:25:32
因为是Oracle数据库中取得的数据本想在数据库中进行处理但是没出找到合适的方法,并且效率影响比较大,考虑到是Winform程序,所以就想将处理过程放到客户端来进行.
从CodeProject上看到一段代码:
// String to DateTime String MyString; MyString ="1999-09-01 21:34 PM"; DateTime MyDateTime; MyDateTime =new DateTime(); MyDateTime = DateTime.ParseExact(MyString, "yyyy-MM-dd HH:mm tt", null);
因为没有仔细看,以为DateTime.ParseExact的第二个参数为目标时间格式,写了如下的代码:
DateTime.ParseExact("20071024132532", "yyyy-MM-dd HH:mm:ss", System.Globalization.DateTimeFormatInfo.CurrentInfo)
调试后程序报错说是不是一个有效的日期,这时候没办法再看,又查了查MSDN,最后终于明白,原来第二个参数是源字符串的格式.
一翻折腾终于是解决了,最后将代码记录下来:
DateTime.ParseExact("20071024132532", "yyyyMMddHHmmss", System.Globalization.DateTimeFormatInfo.CurrentInfo)