简体   繁体   English

SQL 服务器 - 将 EST 显示为 PST?

[英]SQL Server - Display EST as PST?

Server is in NY and date column (DateTime) is being filled as EST.服务器在纽约,日期列 (DateTime) 被填写为 EST。 How do users in California view this DateTime as the local PST?加利福尼亚的用户如何将此 DateTime 视为本地 PST?

I tried:我试过了:

declare @dte DateTime = '20190919 10:01:01'
select @dte EST, @dte At Time Zone 'Pacific Standard Time' As PST

And I get我得到

EST美东时间

2019-09-19 10:01:01.000 

PST太平洋标准时间

2019-09-19 10:01:01.000 -07:00

I am looking for 2019-09-19 07:01:01.000 -07:00我正在寻找 2019-09-19 07:01:01.000 -07:00

Jeroen already said this in his comment, but I'm making the code concrete so you can see what he means. Jeroen 已经在他的评论中说过这一点,但我正在使代码具体化,以便您了解他的意思。

Take your initial date, that you know the time zone for, but SQL Server doesn't yet, and tell it the time zone explicitly:取你的初始日期,你知道时区,但 SQL 服务器还没有,并明确告诉它时区:

DECLARE @dte datetime = '20190919 10:01:01';
SELECT
  @dte AT TIME ZONE 'Eastern Standard Time';

That returns a DATETIMEOFFSET value:这将返回一个DATETIMEOFFSET值:

2019-09-19 10:01:01.000 -04:00

Next, convert that value to Pacific time by wrapping it in another AT TIME ZONE :接下来,将该值转换为太平洋时间,方法是将其包装在另一个AT TIME ZONE中:

DECLARE @dte datetime = '20190919 10:01:01';
SELECT
  (@dte AT TIME ZONE 'Eastern Standard Time') AT TIME ZONE 'Pacific Standard Time' AS datetime;

That returns another DATETIMEOFFSET :这将返回另一个DATETIMEOFFSET

2019-09-19 07:01:01.000 -07:00

Last but not least, for your presentation purposes, wrap that in a CAST so that you only get a DATETIME for your end users:最后但同样重要的是,出于演示目的,将包装在CAST中,以便您仅获得最终用户的DATETIME

DECLARE @dte datetime = '20190919 10:01:01';
SELECT
  CAST((@dte AT TIME ZONE 'Eastern Standard Time') AT TIME ZONE 'Pacific Standard Time' AS datetime);

Results:结果:

2019-09-19 07:01:01.000

And Bob's your uncle.鲍勃是你的叔叔。

Of course, if you want to take the lazy approach, DATEADD will get you where you want to be, too:当然,如果您想采用惰性方法, DATEADD也会将您带到您想去的地方:

DECLARE @dte datetime = '20190919 10:01:01';
SELECT
  DATEADD(HOUR, -3, @dte);

2019-09-19 07:01:01.000

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM