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

日期字符串转DateTime对象报错:String was not recognized as a valid datetime

解决DateTime.ParseExact解析失败的问题

嘿,我一眼就揪出问题所在啦!你碰到的String was not recognized as a valid datetime错误,核心是格式字符串和输入的日期时间不匹配,还有小时制的误用,具体来说有两个关键问题:

  • 小时制不匹配:你输入的时间是15:30(24小时制),但格式字符串里用的是hh——这是12小时制的小时格式(范围01-12),15显然不在这个范围内,得换成HH(24小时制,范围00-23)。
  • 格式字符串多余部分:你的输入只有日期和时分,没有秒数,但格式字符串里写了:ss,解析器找不到对应的秒数部分,自然就报错了。

另外,为了避免系统区域设置影响解析(比如有些区域的日期分隔符不是/),最好指定CultureInfo.InvariantCulture作为解析的文化信息,这样代码的兼容性会更好。

修正后的代码如下:

using System.Globalization; // 记得引用这个命名空间

DateTime drawDatetime = DateTime.ParseExact("19/01/2018 15:30", "dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture);

如果之后你的输入可能包含秒数,只需要把格式字符串改成dd/MM/yyyy HH:mm:ss,同时确保输入字符串也有对应的秒数部分就可以正常解析啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:11:17