0

我需要一个日期(不是 dateTime)来传递给网络服务,

我试过这样:

[WebMethod]
public void myMethod([XmlElementAttribute(DataType = "date")] DateTime someDate)
{
  // ...
}

但它仍然产生:

<tns:myMethod xsi:type="tns:myMethod">
    <someDate xsi:type="xsd:dateTime">dateTime</someDate>
</tns:myMethod>

任何想法 ?

4

1 回答 1

1

在 .NET 中,甚至 System.DateTime.Date 也是 DateTime 数据类型(文档)。.NET 中没有时间,就没有“日期”数据类型这样的东西。

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 数据类型,但 .NET 除了 DateTime 数据类型之外,没有任何东西可以与之匹配。

除非您编写自己的数据类型,否则可能会浪费大量时间。

于 2012-09-10T17:34:09.530 回答