如何以此格式正确解析DateTime:"2013-04-29T00:00:00"

Dou*_*oug 5 c# datetime parsing

我使用一个Web服务,它返回一些日期作为字符串,我DateTime.Parse用来获取相应的DateTime对象.它正在工作,但我担心我的使用DateTime.Parse可能容易受到不同语言环境设置导致的错误的影响.返回的日期采用以下格式:

2014-04-24T00:00:00
Run Code Online (Sandbox Code Playgroud)

我用来解析它的代码:

DateTime d = DateTime.Parse(strValue);
Run Code Online (Sandbox Code Playgroud)

是否有某种方式(例如传递格式提供程序,或使用其他方法),我保证我的解析例程无论机器区域设置如何都能正常工作?

cdh*_*wie 5

如果要解析独立于用户区域设置的日期,请使用不变文化:

DateTime d = DateTime.Parse(strValue, CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)


Mar*_*der 5

你使用最短的形式!您的格式为ISO 8601格式(http://nl.wikipedia.org/wiki/ISO_8601).它被任何文化认可!

所以你的方式是最简单的方法: DateTime result = DateTime.Parse("2008-06-15T21:15:07");

如果您不确定,请使用: DateTime result = DateTime.ParseExact("2008-06-15T21:15:07", "s", null);

退房:http://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo.aspx#properties