You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将"29.07.2022"格式字符串转为DateTime报错,如何解决?

日期字符串转DateTime的正确方法

你遇到的错误核心原因是格式字符串使用错误:mm是分钟的格式符,而你需要的月份对应的格式符是大写的MM。原代码里的小写mm导致解析逻辑混乱,所以抛出了「String was not recognized as a valid DateTime」异常。

正确的转换代码

直接修正格式字符串即可完成转换:

DateTime date = DateTime.ParseExact("29.07.2022", "dd.MM.yyyy", System.Globalization.CultureInfo.InvariantCulture);

更健壮的最佳实践

在实际开发中,推荐使用TryParseExact方法,它不会在转换失败时抛出异常,而是通过返回值告知转换结果,更适合处理不确定的输入场景:

if (DateTime.TryParseExact("29.07.2022", "dd.MM.yyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out DateTime date))
{
    // 转换成功,可在此处使用date变量
}
else
{
    // 转换失败,执行错误处理逻辑(比如提示输入格式错误)
}

内容的提问来源于stack exchange,提问作者LYOUSFI Marouane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 09:05:33