当前位置: 首页 > 知识库问答 >
问题:

SQL Server - 将 UTC 转换为 EST(包括夏令时,如果适用)

贲宏硕
2023-03-14

我有一个以 UTC 时区存储交易日期时间的表。我需要将此时间转换为东部时区,即美国东部时间或美国东部夏令时,具体取决于交易日期。

如何在不编写大函数或创建为每个交易日期标记 EST / EDT 的表/视图的情况下执行此操作?

共有1个答案

穆文斌
2023-03-14

使用< code>AT TIME ZONE,将值的时区更改为当地的相关时间,并遵循夏令时:

SELECT CONVERT(datetimeoffset(0),'2021-09-07T15:25:37+00:00') AT TIME ZONE 'Eastern Standard Time' AS Sep21,
       CONVERT(datetimeoffset(0),'2021-01-09T15:25:37+00:00') AT TIME ZONE 'Eastern Standard Time' AS Jan21;

这将返回以下内容:

Sep21                              Jan21
---------------------------------- ----------------------------------
2021-09-07 11:25:37 -04:00         2021-01-09 10:25:37 -05:00
 类似资料:
  • 如何在Ruby中将格式为< code > ' 2009-02-02 00:00:00 ' 的UTC时间戳转换为EST/EDT?注意,我没有使用Rails,而是一个简单的Ruby脚本。 1如果日期范围介于 EST(通常是 1 月至 3 月中旬)之间,则需要 UTC-5 小时。对于EDT,它是UTC-4小时。 到目前为止,我有以下功能将UTC转换为EST/EDT。 上面的代码做了我想要的,但是我的解决

  • 我需要转换一个日期列,数据库中的日期正好偏离了5个小时。时间保持为UTC,当他们查看应用程序时,它会显示EST时区。应用程序自动转换时间。UTC比东部标准时间提前了5秒。以下代码似乎为大多数时间戳固定了时间和日期,但是,有没有办法设置和偏移?报告回顾一天,并应将转换后的UTC时间返回到EST时间。

  • 我尝试编写一个类来从UTC转换为EST时区。此外,我只想存储日期部分。它工作正常。现在我正在寻找dateFromUtcToJavaTimeZone方法的各种JUnit测试用例。你能给我一些建议吗?

  • 我有一个关于将UTC时区转换为EST时区的问题,因为我对SQL语言和Azure平台还是新手。在日志文件中,我使用了日志文件中的系统内置函数“getDate()”来获取日期/时间。但是,在我的SSMS上访问Azure数据库时,使用系统内置函数(GetDate())可以获得UTC时区的datetime,它比东部时区(EST)提前4个小时。我以前也问过类似的问题,在这里把UTC转换成EST时,@Dang

  • 我是PostgreSQL的新手,我想知道是否有一种直接的方法可以使用函数将表中的时间戳值转换为不同的时区。在我的情况下,是UTC到EST。 例如,我需要将这些值转换为EST(不仅仅是一个值,而是表中的所有值)

  • 在我的一个项目中,我必须将UTC DateTime转换为用户特定的日期和时间。我正在使用xml获取时间偏移量和夏令时参数。 例如offset=“GMT+2”dst=“true” 谢谢,