2011-01-17 20 views
8

SQL Server'da getdate()'u EST zamanına dönüştürmek istiyorum.Getdate() - EST'ye dön

+1

Hangi SQL Server sürümü? – gbn

+0

Doğu saatini aradığınızı söylemek daha doğru olur mu: I.E. insanların gün ışığından yararlanma zamanlarını gözlemlediği doğu kıyısında saat kaçta? – Empiricist

cevap

8

GETUTCDATE() öğesini ve oradan ofseti mi gerçekleştirdiniz? Eğer standart saat gibi EST kastediyorsan , o UTC-5, yani

select dateadd(hour,-5,GETUTCDATE()) 
+4

WRONG, bu gün ışığından yararlanma saati için hesap değildir. – AndroidDebaser

+3

@AndroidDebaser Gün ışığından yararlanma saati hesaplamanıza gerek yoktur. EST her zaman UTC-5 olacaktır. Gözlemci gün ışığından yararlanma saati olan yerler EDT'ye geçecek ve OP özellikle EST'yi istedi. Yani bu cevap doğru. – solartic

3

Ayrıca

select SWITCHOFFSET (SYSDATETIMEOFFSET(), '-05:00') 
+1

+1 'SwitchOffset' – RichardTheKiwi

+2

Bu, gün ışığından yararlanma için çalışmaz, dolayısıyla yılın sadece yarısı kadar yanlış olur. – AndroidDebaser

+0

http://stackoverflow.com/users/832388/androiddebaser ile tamamen katılıyorum –

0

GetDate deneyebilirsiniz() sunucusundan kendisinden sistem zamanıdır.

Şimdi GetDate() öğesinin saat farkını alın ve şimdi EST'de bu saati kullanın, burada 1, söz konusu farkın (bu örnekte sunucu Merkezi Saat dilimi) olduğu anlamına gelir (Bu ayrıca sunucunuzu varsaymaktadır) EDT GMT-4 saat iken) DST için

SELECT  DATEADD(hour, 1, GETDATE()) AS EST 
1

EST muhasebe edilir GMT-5 saattir.

EST almak için:

select dateadd(hour,-5,GETUTCDATE()) 

almak için EDT:

`select dateadd(hour,-4,GETUTCDATE())` 
0

GETDATE() kullanarak:

GMT:

tarihi görüntülenir:

SELECT GETDATE() 

image1

EST:

KULLANIMI GETDATE() ŞİMDİ DÖNÜŞÜM İÇİN:

SELECT DATEADD(HOUR, -4, CONVERT(varchar(20),GETDATE(),120)) 

image2