【问题标题】:Select datetime prints wrong date选择日期时间打印错误的日期
【发布时间】:2009-05-20 09:04:21
【问题描述】:

当我从 mssql2005 数据库中选择一些数据行并将它们绑定到 datagrid 时,从 db 中选择的日期无效。例如,在 db 中,我有日期形式:

2009-05-10 00:00:00.000

但当它显示在数据网格中时,它看起来像这样:

2009 年 5 月 9 日晚上 10:00:00

所以它显示 2 小时前然后保存在数据库中。

05 - 现在是月份:-)

我做错了什么?

通过在 Sql Management Studio 中插入 sql 查询添加的 db 中的记录,因为这些记录仅用于测试。

我使用的是silverlight 3.0,ria services may preview,英语 vs08,波兰 MS vista home premium。

【问题讨论】:

    标签: c# sql silverlight datetime


    【解决方案1】:

    对我来说似乎是时区问题。您是直接从数据库中选择行到您的应用程序中,还是可能通过 Web 服务从另一台机器检索它们?

    作为一项基本测试,请尝试将您的 Windows 时区提前 2 小时设置,然后查看问题是否仍然存在。

    【讨论】:

    • 直接从数据库到我的应用程序。两者都 - app 和 mssql 服务器在同一台机器上工作
    • 试试我的基本测试,让我知道结果如何。您的 SQL Server 可能在 Windows 帐户下运行,而该帐户的时区设置与您的帐户不同。
    • 执行此操作后,它显示在 dataGrid: 5/9/2009 11:00:00 PM 但还有其他问题,我刚刚注意到。这些是取自三个不同数据库行的三个日期行: 2009-05-10 00:00:00.000 2009-04-10 00:00:00.000 2009-03-10 00:00:00.000 和数据网格中显示的相同行: 5/9/2009 11:00:00 PM 4/9/2009 11:00:00 PM 3/10/2009 12:00:00 AM 所以它在 2009 年 3 月 10 日显示不同的时间。
    • 一些国家/地区在 3 月中旬左右开始实行夏令时,尽管我只能找到 3 月 8 日的夏令时,而不是 9 日或 10 日。
    • 好的,这很有趣。您是否只是在更改本地时区后才添加了 3 月 10 日的日期?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 2012-09-11
    • 2013-10-02
    • 1970-01-01
    • 2023-03-16
    相关资源
    最近更新 更多