如何更改.net SOAP请求的日期格式?

时间:2010-05-05 16:00:18

标签: .net soap

我正在使用一个WSDL,它需要其中一个方法的DateTime参数。当.NET序列化我的调用时,它会创建一个这样的日期参数:

2010-1-1T10:00:00.00

这看起来像序列化程序使用日期格式“s”。我需要一种不同的格式,即具有时区偏移的格式:

2010-1-1T10:00:00.00 -4:00

如何指定我希望序列化程序使用的日期格式? (C#或VB.NET)

2 个答案:

答案 0 :(得分:2)

如果时区偏移量是针对当前时区的,则应检查DateTime实例的Kind属性是否设置为DateTimeKind.Local。如果没有,您可以按如下方式强制执行:

DateTime myDateTime;
...
myDateTime = myDateTime.SpecifyKind(myDateTime, DateTimeKind.Local);

答案 1 :(得分:0)

通常这可以通过以UTC(通用时间协调)格式传递时间/日期来完成...意思是:世界时间并将时区(如果需要)放在单独的参数中。

请参阅: http://msdn.microsoft.com/en-us/library/system.datetime.touniversaltime%28VS.71%29.aspx