从c#datetime到xsd:datetime
我确信之前这里已经解释过了,但我似乎无法得到我想要的确切格式。 我需要将C#中的DateTime对象转换为xsd:DateTime对象 结果应该如下所示:从c#datetime到xsd:datetime,c#,datetime,soap,xsd,C#,Datetime,Soap,Xsd,我确信之前这里已经解释过了,但我似乎无法得到我想要的确切格式。 我需要将C#中的DateTime对象转换为xsd:DateTime对象 结果应该如下所示: 2014-11-19T21:59:59+02:0 人们通常用这个。此格式始终生成“yyyy”-“MM”-“dd'T'HH”:“MM”:“ss”。“fffffff k”格式,无论您使用哪种区域性 但这不符合你的需要。你需要使用它 DateTime dt = new DateTime(2014, 11, 19, 21, 59, 59, Dat
2014-11-19T21:59:59+02:0
人们通常用这个。此格式始终生成“yyyy”-“MM”-“dd'T'HH”:“MM”:“ss”。“fffffff k”
格式,无论您使用哪种区域性
但这不符合你的需要。你需要使用它
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
然后您可以使用删除最后一个字符,如
.Substring(0, dt.ToString("yyyy-MM-ddTHH:mm:ssK").Length - 1)
请记住,如果您的
DateTimeKind
是Local
,则只会生成当前时区的一部分。对于Utc
,它会生成Z
字符,对于未指定的
它会生成空字符串。请参阅:该解决方案的问题在于它不会给出您指定的结果。我能发现的所有结果都是生成“ffffffk”部分。最终,我将你的想法用于子字符串。只需要根据实际结果重新调整它。谢谢。@Moutabreath如果使用O或O
标准格式,则无法获得类似的格式。+02:0
。您应该使用自定义日期和时间格式,并使用我提到的Substring
方法。我认为在你的情况下没有其他的解决方案。我甚至不能得到你的格式,在结尾有额外的数字。我需要更复杂一点的子字符串用法。@Moutabreath您的DateTime
的Kind
属性到底是什么?你用哪种格式?你在寻找什么样的复杂用法?