From c# datetime to xsd:datetime

本文关键字:datetime xsd to From | 更新日期: 2023-09-27 18:31:08

我敢肯定之前在这里以某种方式解释过它,但我似乎无法获得我想要的确切格式。我需要将 C# 中的 DateTime 对象转换为 xsd:dateTime 对象。

结果应如下所示:

 2014-11-19T21:59:59+02:0

From c# datetime to xsd:datetime

人们通常为此使用 "O""o" 标准格式。无论您使用哪种区域性,此格式始终生成"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK"格式。

但这不符合您的需求。您需要为此使用自定义日期和时间格式。

DateTime dt = new DateTime(2014, 11, 19, 21, 59, 59, DateTimeKind.Local);
dt.ToString("yyyy-MM-ddTHH:mm:ssK");

结果将是;

2014-11-19T21:59:59+02:00

然后您可以使用String.Substring重载来删除您的最后一个角色,例如;

.Substring(0, dt.ToString("yyyy-MM-ddTHH:mm:ssK").Length - 1)

请记住,如果您的DateTimeKind Local,此"K"自定义格式说明符仅生成当前时区的 UTC 偏移部分。对于Utc,它生成Z字符,对于Unspecified,它生成空字符串。