我需要将日期(不是dateTime)传递给Web服务,
我尝试过这样:
[WebMethod]
public void myMethod([XmlElementAttribute(DataType = "date")] DateTime someDate)
{
// ...
}
但它仍然产生:
<tns:myMethod xsi:type="tns:myMethod">
<someDate xsi:type="xsd:dateTime">dateTime</someDate>
</tns:myMethod>
有什么想法吗?
答案 0 :(得分:1)
在.NET中,甚至System.DateTime.Date也是DateTime数据类型(documentaiton)。在没有.NET时间的情况下,没有“Date”数据类型。
DateTime的日期部分将评估为该日期的午夜,d
DateTime DateOnly = DateTime.Now.Date;
Console.Out.WriteLine(DateOnly.ToString("yyyy-MM-dd hh:mm:ss");
将写出
2012-09-10 00:00:00
在您的代码中,您可以使用上面的代码访问日期,但无论如何,它将是DateTime值。
当然,SOAP编码确实有Date数据类型,但除了DateTime数据类型之外,.NET没有任何东西可以匹配它。
除非您编写自己的数据类型,否则可能会浪费大量时间。