首页 > 代码库 > 日期转换(用DateTime的ParseExact方法解析特殊的日期时间)(转)
日期转换(用DateTime的ParseExact方法解析特殊的日期时间)(转)
今天遇到一个特别的需求,需要从下面的字符串中转换成一个DateTime对象:
[07-13 15:50:42]
主要问题是这个时间不是标准的时间,而是自定义的格式,即开头是月-日,然后是时间。
使用最常用的DateTime.Parse(string dateTimeStr)无法转换,问题就在于这个自定义格式上。
搜索了之后,我找到了下面的方法:
public static DateTime ParseExact( string s, string format, IFormatProvider provider )
使用例子如下:
var dateTimeStr = "07-13 15:50:42"; var dateTime = DateTime.ParseExact(dateTimeStr, "MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
使用效果如下:
例子2:
MessageBox.Show(DateTime.ParseExact("07131550", "MMddHHmm", System.Globalization.CultureInfo.CurrentCulture).ToString());
结果:2014/7/13 15:50:00
如果你使用的其它特殊语言,比如美国或者日文啥的,最后的参数你可能需要获取下对应的Culture。
注意:
- 如果dateTimeStr或者format 是null,会抛出ArgumentNullException异常。
- 如果dateTimeStr或者format 是空字符串,则抛出FormatException异常。
参考资料
DateTime.ParseExact Method (String, String, IFormatProvider)
http://msdn.microsoft.com/en-us/library/w2sa9yss.aspx
日期转换(用DateTime的ParseExact方法解析特殊的日期时间)(转)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。