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

如何解决C#中字符串转DateTime时的格式不匹配报错

日期解析失败的解决方法

问题根源

你的输入日期字符串是2026-05-24 18:54:55,格式为年-月-日 时:分:秒(对应格式符yyyy-MM-dd HH:mm:ss),但你使用的解析格式字符串是dd MMMM yyyy HH:mm:ss(对应日 完整月份名 年 时:分:秒),两者格式完全不匹配,导致解析报错。

正确解析代码

使用与输入字符串完全匹配的格式符即可成功解析:

string expiredDate = "2026-05-24 18:54:55";
DateTime myDate = DateTime.ParseExact(expiredDate, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);

扩展:如果需要输出印尼语格式的日期

如果你的需求是将解析后的DateTime对象转换为dd MMMM yyyy HH:mm:ss格式(比如显示印尼语月份名),可以在解析完成后用ToString方法格式化:

// 先正确解析日期
DateTime myDate = DateTime.ParseExact(expiredDate, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
// 格式化为印尼语日期字符串
string indonesianFormattedDate = myDate.ToString("dd MMMM yyyy HH:mm:ss", CultureInfo.CreateSpecificCulture("id-id"));
// 输出结果:"24 Mei 2026 18:54:55"

关键格式符说明

  • yyyy:4位数字年份(如2026)
  • MM:2位数字月份(如05)
  • dd:2位数字日期(如24)
  • HH:24小时制的小时数(如18)
  • mm:分钟数(如54)
  • ss:秒数(如55)
  • MMMM:本地化的完整月份名称(如印尼语的Mei,英语的May)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 08:13:25