datetime.parse并使其以特定格式工作


141

我有一个格式从XML文件返回的日期时间:

20080916 11:02

yyyymm hh:ss

我如何获取datetime.parse函数以进行此操作?即解析没有错误?干杯

Answers:


246
DateTime.ParseExact(input,"yyyyMMdd HH:mm",null);

假设您要说的是分钟数紧随小时数而不是秒数-您的示例有点令人困惑。

ParseExact文档详细说明其他重载,如果你想拥有解析自动转换为通用时间或类似的东西。

正如@ Joel Coehoorn所提到的,还有使用TryParseExact的选项,它会返回一个布尔值,指示操作成功或失败-我仍然在.Net 1.1上,所以我经常忘记这一点。

如果需要解析其他格式,则可以签出Standard DateTime Format Strings


11
不要忘记DateTime.TryParseExact()
乔尔·科恩荷恩

另外:标准Xml具有其自己的非常特定的DateTime格式,.Net Xml工具应该能够读取它。
Joel Coehoorn

在这种情况下,最后一个参数为null可以正常工作,但对于任何找到此CultureInfo.InvariantCulture的人来说,如果日期时间类似于“ 1823/01/01”,则可能会遇到问题。
Todilo

@JoelCoehoorn standard XML specific DateTime format
Kiquenet '18年

10

感谢您的提示,我用它来解析我的日期“ 20071122”,我需要添加datetimestyles,我没有使用它,但是它起作用了:

DateTime dt = DateTime.MinValue;

DateTime.TryParseExact("20071122", "yyyyMMdd", null,System.Globalization.DateTimeStyles.None, out dt);
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.