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

C#解析MM/dd/yyyy hh:mm:ss格式字符串为DateTime报错问题

问题原因

  • 你当前使用的格式字符串未包含匹配AM/PM上下午标识的tt说明符,和输入字符串的结构不匹配,这是报错的核心原因。
  • 格式字符串中使用的MM要求月份必须为两位数字(如07代表7月),但你的示例输入中月份为单数字7,如果实际获取的时间数据中月份、日期均不会补前导零,也会导致格式匹配失败。

解决方法

调整格式字符串,增加tt说明符匹配上下午标识,同时将月份、日期的格式符调整为支持单/双位的M和d即可:

string s = "7/30/2021 12:00:00 AM";
DateTime dt = DateTime.ParseExact(s, "M/d/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);

补充说明

如果你能确认从其他系统获取的时间字符串中,月份、日期固定为补前导零的两位格式,也可以将格式字符串改为MM/dd/yyyy hh:mm:ss tt,适配规则和你的原始写法更接近。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 12:12:02