您的位置:首页 > 编程语言 > C#

c#美味:用DateTime的ParseExact方法解析特殊的日期时间

2010-07-17 00:59 323 查看
今天遇到一个特别的需求,需要从下面的字符串中转换成一个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);


使用效果如下:





如果你使用的其它特殊语言,比如美国或者日文啥的,最后的参数你可能需要获取下对应的Culture。

注意:

如果dateTimeStr或者format 是null,会抛出ArgumentNullException异常。

如果dateTimeStr或者format 是空字符串,则抛出FormatException异常。

 

参考资料

DateTime.ParseExact Method (String, String, IFormatProvider)

http://msdn.microsoft.com/en-us/library/w2sa9yss.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐