从DateTime.TryParseExact想到的

前天同事问C#有没有相关的方法能把"年月日时分秒"这样的字符串转化为DateTime对象,我之前没碰这样的问题,没处理过,不知道有没有,但想想挺复杂的,例如同样的时间"2010-4-8 12:30:01"就有好几种表示方法:

引用内容 引用内容
20100408123001
20104812301
100408123001
104812301

可能还有更多,要转成DateTime对象,就必须先弄清它的格式,这是一个比较头疼的问题。后来还是让他找到了一个方法:DateTime.TryParseExact,使用如下:

DateTime dt;
DateTime.TryParseExact("20100408123001", "yyyyMMddHHmmss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.AdjustToUniversal, out dt);
Console.Write(dt.ToString());

它很简单的就解决格式的问题:要我转化,可以,告诉我格式先!无独有偶,我之前在给资源加扣费时也是这么解决的。

我们总是希望程序很智能,能处理所有事情,当它无法那么智能时,我们不妨帮它一把,就像上边例子:要我转化,可以,告诉我格式先!

评论: 0 | 引用: 0 | 查看次数: 6366
发表评论
登录后再发表评论!