[英]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.