c#用错误的时区格式解析日期



我有验证和解析日期的方法:

public static bool TryParse(string dateTimeString)
{
var format = "ddd, d MMM yyyy HH:mm:ss zzz";
DateTimeOffset dateTimeOffset;
var result = DateTimeOffset.TryParseExact(dateTimeString, format, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal, out dateTimeOffset);
return result;
}

但是从客户端我有这个格式的日期:"Fri, 22 Jan 2021 15:31:07 +0300"。因此,据我所知,时区是不正确的

+0300-不正确

+03:00- correct.

和我的方法不解析日期(返回false)。

所以在结果中,我有这个格式"Fri, 22 Jan 2021 15:31:07 +0300",我不能改变它。如何正确解析日期,如"Fri, 22 Jan 2021 15:31:07 +0300"?

:作为偏移量出现时,它是可选的"z"格式说明符,在这里查看源代码:

// ':' is optional.
if (str.Match(":")) {
// Found ':'
if (!ParseDigits(ref str, 2, out minuteOffset)) {
return (false);
}} else {

https://referencesource.microsoft.com/mscorlib/系统/全球化/datetimeparse.cs, 3010

最新更新