2013-07-08 57 views
1

我有一个字符串7/24/2013 6:05:00 PM并希望将其转换为DateTime对象。 我使用使用ParseExact方法无法将字符串转换为DateTime

的DateTime newDate = DateTime.ParseExact(日期, “M/d/yyyy的H:MM:SS TT”, System.Globalization.CultureInfo.InvariantCulture);

但newDate对象是09.07.2013 06:45:00。我想在字符串版本上面看到它。

你知道为什么它没有转换我想要的格式或任何意见将是伟大的如何我可以呈现它作为日期时间对象。

谢谢

+0

日期字符串是2013年7月13日下午6时05分00秒 –

+0

说实话解析既InvariantCulture的,对我的CurrentCulture工作。如果您可以控制日期时间格式,则可以始终使用国际格式,然后使用标准DateTime.Parse() E.g. YYYY-MM-DD HH:MM:SS – codemonkeh

+0

如果您深入了解新日期属性,您是否可以确认日期和月份的值?也许你的显示格式风格与你试图解析的风格不同。 – codemonkeh

回答

1

由于您的日期已经是一种常见的格式风格,你应该尝试使用当前的UI文化解析,你的情况EN-US。

E.g.

DateTime.ParseExact(date,"M/d/yyyy h:mm:ss tt", System.Globalization.CultureInfo.CurrentCulture); 

通过使用InvariantCulture解析是在解析字符串时忽略所有文化线索。

欲了解更多信息:http://msdn.microsoft.com/en-us/library/dd465121.aspx

+0

我正在获取String未被识别为有效的DateTime。如果我使用currentculture,则为异常。 System.Globalization.CultureInfo(“en-US”)也提供了我不想要的相同格式 –