【问题标题】:use DateTime or String in .net Web Service method sigs在 .net Web 服务方法签名中使用 DateTime 或 String
【发布时间】:2014-07-31 10:16:28
【问题描述】:
  • 哪种数据类型最适合用于通过 .net Web 服务在我的组织中传递日期?

我倾向于使用 DateTime 字段公开服务 - 这意味着任何客户端代码(java、C# 等)都将构建适当的存根,并且开发人员可以使用自然而干净的样式来填充日期字段。

但是 - 我不清楚这是否适合从不同时区传递日期。

另一种方法是传递具有已定义格式的字符串,并要求它始终代表 UTC。这会更混乱,但可能会减少整个团队的混乱。

谢谢-

【问题讨论】:

  • 这些值代表什么?时间点? UTC 偏移的时间点?日期? (您可能需要考虑DateTimeOffset。)
  • 有关 DateTimeOffset 的更多信息。另请参阅:SoapDateTime class。
  • 你好乔恩(你好,一位读者朋友——我自己是中心阅读者)和 VMAtm。通常,我们代表时间点 - 例如下订单的时间点。我们有各种可能具有日期相关字段的业务对象 - 理想情况下,这些对象将使用一致且适当/通常有用的类型 - 因此 SoapDateTime 在这种情况下似乎有点奇怪。 DateTimeOffset 看起来很有趣...将测试以查看 java 客户端对此有何影响。

标签: c# web-services datetime


【解决方案1】:

我相信你可以使用 DateTime 数据类型,但是在调用或传递此函数中的参数时转换为 UTC 日期时间。

就像在 C# 中一样

TimeZoneInfo.ConvertTimeToUtc(thisTime, TimeZoneInfo.Local)

DateTime.UtcNow

所有语言都有这样的功能。

注意:我们在 UTC 中再次创建一个日期类型,然后是一个长数据类型。

【讨论】:

    猜你喜欢
    • 2016-04-12
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多