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

使用C# DateTime.TryParseExact解析无点日期失败问题排查

问题根源:日期格式符使用错误

你代码里的格式字符串"yyMMDD"用错了关键格式符——大写的DD代表「一年中的第几天」(取值范围1-366),而你要解析的是「月份中的第几天」,必须用小写的dd(两位数字表示的当月日期)。

举个具体的例子:

  • 你测试的字符串210201,如果用yyMMDD解析,程序会把01识别为「一年的第1天」,但前面的02是2月,一年第1天实际是1月1日,两者逻辑冲突,所以解析失败。
  • 改成yyMMdd后,210201会被正确解析为2021年2月1日。

修正后的代码:

DateTime.TryParseExact(value, "yyMMdd", CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out var date)

你测试的DateTime.ParseExact("201101","yyMMDD",...)也是同样的问题,把格式符改成yyMMdd后,就能正常解析为2020年11月1日,不会再抛出错误。

内容的提问来源于stack exchange,提问作者Teet Kalm

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 09:34:53