【问题标题】:Strange Date Problem with WebService ASP.Net SQLWebService ASP.Net SQL 的奇怪日期问题
【发布时间】:2010-09-30 05:12:09
【问题描述】:

我的服务器位于美国,我正在对其进行查询。远程服务器(美国)和本地的表中包含的数据是相同的。

问题是当我使用 WebService 从远程服务器检索数据集时。日期列显示上一个日期。例如,日期列具有“2007 年 1 月 14 日”,但检索时显示“2007 年 1 月 13 日”。

我无法确定原因,因为其他一切都正常。

【问题讨论】:

    标签: c# asp.net sql date


    【解决方案1】:

    数据集中的时间存在问题,至少在 .net 1.1 中是这样。数据集自动将时间调整为客户端的时区。我的猜测是您的客户端设置为比服务器更西的时区。反过来,这会将时间向后推几个小时,导致日期从 2007 年 1 月 14 日移到 2007 年 1 月 13 日。

    查看this 知识库文章。

    【讨论】:

    • 我已将 DateTime 转换为 varchar。我希望这能解决问题
    【解决方案2】:

    也许数据库的本地化不是数据集所期望的。我不确定确切的规格,但例如,它可能将值存储为 EDT 但希望它是 UTC。因此,您在数据库文件中看到的可能是 2007 年 1 月 14 日凌晨 12:00,但是当它本地化为美国时间时,您会得到 2007 年 1 月 13 日下午 4:00 什么的?

    检查时间,而不仅仅是日期,看看你是否能识别出一个模式。然后你也许可以相应地调整。

    【讨论】:

      猜你喜欢
      • 2011-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多