转换字符串格式”;yyyy-MM-ddTHH:MM:ss.fffZ”;到DateTime

本文关键字:DateTime fffZ ss yyyy-MM-ddTHH 字符串 格式 转换 MM | 更新日期: 2023-09-27 18:23:38

我知道这个问题已经被问了很多不同的方法,我都看过了,但似乎没有一个解决方案对我有效。所以,我希望你们能帮我一个忙。

输入字符串为:"2000-01-01T12:00:000Z"。我需要获取输入字符串并将其转换为DateTime,以便将其存储在数据库中。

我一直在使用ParseExact,但我一直收到无法识别的日期字符串异常。我哪里错了?

inValue.LatestDepartTime = "2000-01-01T12:00:000Z";
DateTime _latestDepartTime = DateTime.ParseExact(inValue.LatestDepartTime, "yyyy-MM-dd HH:mm:ss.fff", CultureInfo.InvariantCulture);

转换字符串格式”;yyyy-MM-ddTHH:MM:ss.fffZ”;到DateTime

您的格式字符串需要与输入完全匹配。

这包括文字TZ字符。

使用yyyy-MM-dd'T'HH:mm:ss.fff'Z'

代码为:

public DateTime convertIsoToDateTime (string iso)
{
    return DateTime.ParseExact(iso, "yyyy-MM-dd'T'HH:mm:ss.fff'Z'", CultureInfo.InvariantCulture);
}

您需要在格式字符串中包含''T''Z,以匹配文本TZ

您没有在模式中指定T

也就是说,您可能想要了解XmlConvert类,它提供了转换这种格式的方法。

您需要在T和Z:周围加上单引号

DateTime parsedDateTime;
DateTime.TryParseExact(obj, "yyyy-MM-dd'T'HH:mm:ss'Z'", null, System.Globalization.DateTimeStyles.None, out parsedDateTime);
return parsedDateTime;