我正在使用一个WSDL,它需要其中一个方法的DateTime参数。当.NET序列化我的调用时,它会创建一个这样的日期参数:
2010-1-1T10:00:00.00
这看起来像序列化程序使用日期格式“s”。我需要一种不同的格式,即具有时区偏移的格式:
2010-1-1T10:00:00.00 -4:00
如何指定我希望序列化程序使用的日期格式? (C#或VB.NET)
答案 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