2011-07-27 48 views
1

我有一個服務,從我的SQL服務器數據庫推送日期到Web數據庫和推送的日期格式是「yyyyMMdd」。SQL Server日期格式印度到美國

我的數據庫駐留在印度,所以日期格式和當前日期是基於印度文化和語言環境爲主。

而我的網絡服務器居住在美國,所以日期格式是基於美國。

有一個在印度和美國的時間將近13的小時差。因此,當我的客戶在2011年6月13日上午9:00點進入托運貨物時,它會在6月12日收到的網站上顯示。

所以接收客戶端之前,寄售甚至預訂他們做這麼大的麻煩。請指導我解決這個問題。

感謝

回答

1

這將需要用戶輸入,並將其轉換爲UTC:

DECLARE @input DateTime = '13 June 2011 9:00 am'; 
DECLARE @utc DateTime = DATEADD(s, DATEDIFF(s, GETDATE(), GETUTCDATE()), @input); 

SELECT @input UserInput, @utc UTC; 

您可以將所有DateTime值在數據庫爲UTC,然後將它們呈現給用戶在哪個時區/文化是適當的。

+0

我嘗試了你的建議方法,我還不明白。但它像一個魅力。謝謝 –

0

該交易確實發生在6月12日在美國,所以這實際上是正確的。

如果你想在美國看,六月13日在印度看,當你需要您的日期存儲爲UTC日期時,該日期顯示六月的第12位。