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

请问字符串2022-11-01T00:00:00属哪种DateTime格式?C#转换报错求助

解决C#中ISO格式时间字符串转DateTime报错的问题

你的报错原因很明确:时间字符串2022-11-01T00:00:00结尾没有Z标记,但你用的格式字符串"yyyy-MM-ddTHH:mm:ssZ"强制要求末尾有Z,格式不匹配自然会抛出String was not recognized as a valid DateTime异常。

给你两种可行的解决方法:

方法1:修正格式字符串

直接去掉格式里的Z,和原字符串的结构完全匹配:

DateTime test = DateTime.ParseExact(startTime, "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture);

方法2:直接使用默认解析(更简便)

你的时间字符串属于标准ISO 8601格式的子集,C#的默认解析方法可以直接识别,不用手动指定格式:

// 直接解析(如果确定字符串格式合法)
DateTime test = DateTime.Parse(startTime, CultureInfo.InvariantCulture);

// 更安全的写法:用TryParse避免异常
if (DateTime.TryParse(startTime, CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime test))
{
    // 解析成功后执行你的逻辑
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 03:35:25