Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从c#datetime到xsd:datetime_C#_Datetime_Soap_Xsd - Fatal编程技术网

从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

我确信之前这里已经解释过了,但我似乎无法得到我想要的确切格式。 我需要将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, 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
属性到底是什么?你用哪种格式?你在寻找什么样的复杂用法?