【问题标题】:Why WCF service change date value in case different TimeZone on client and server side为什么 WCF 服务更改日期值以防客户端和服务器端的 TimeZone 不同
【发布时间】:2013-05-14 15:40:06
【问题描述】:

我有 WCF 服务,一个服务方法返回一些对象的数组,单个对象包含一些日期值,例如 {14-05-2013 08:00:00} 种类:未指定。 我可以在调试模式下在方法的返回点之前看到这个值。

在客户方面,我得到的 JSON 对象包含 wrong date 我的属性值: 日期(1368511200000+0200) 它等于 2013 年 5 月 14 日星期二 09:00:00 GMT+0300(FLE 夏令时)

仅当客户端(浏览器)和 IIS 服务器位于不同时区时才会发生这种情况。

为什么我看到偏移的日期值以及如何修复它?

谢谢。

【问题讨论】:

  • 日期/时间到底有什么问题?你的服务器在哪个时区?我怀疑是 GMT+2?
  • 我想在服务器时区服务器时区服务器时区:(UTC + 01:00),客户端时区:(UTC + 02:00)

标签: asp.net wcf telerik asp.net-4.5


【解决方案1】:

日期值保持不变,但显示会因您的时区变化而发生变化。

柏林的 08:00 伦敦的 07:00。

如果您想传输相同的演示文稿,无论该演示文稿跨时区后它不再是同一时间,您都可以将其作为字符串而不是日期发送。

您还可以将 DateTime 的 kind 更改为 UTC,但这也会对您的服务器端产生影响。

更多关于时区转换的信息请见here

【讨论】:

    猜你喜欢
    • 2018-02-03
    • 1970-01-01
    • 2011-03-04
    • 1970-01-01
    • 1970-01-01
    • 2015-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多