【问题标题】:Tables stored time as UTC how take into account day light savings将时间存储为 UTC 的表格如何考虑夏令时
【发布时间】:2017-07-03 20:23:23
【问题描述】:

表格将时间存储为 UTC,但考虑到夏令时,我需要转换 GMT 时间。如何在 SQL 中完成此操作,以便在时间更改时不必修改查询。

【问题讨论】:

  • 对于大多数意图,UTC 和 GMT 是可以互换的,因为 GMT 与 UTC 的偏移量为零。你到底想在这里做什么?
  • 例如,用户在应用程序中选择了 10.00,但这是作为 09.00 提交到数据库的,我需要考虑时区的逻辑。谢谢
  • UTC 和 GMT 通常使用interchangeably。请提供样本数据。
  • 我需要考虑夏令时

标签: sql sql-server datetime sql-server-2012


【解决方案1】:

试试这个

SELECT CONVERT(datetime, 
           SWITCHOFFSET(CONVERT(datetimeoffset, 
                                MyTable.UtcColumn), 
                        DATENAME(TzOffset, SYSDATETIMEOFFSET()))) 
   AS ColumnInLocalTime FROM MyTable

【讨论】:

    猜你喜欢
    • 2014-06-01
    • 1970-01-01
    • 2018-02-04
    • 2021-08-02
    • 2021-01-21
    • 1970-01-01
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    相关资源
    最近更新 更多