2011-07-27 22 views
1

SQLサーバーのデータベースからWebデータベースに日付をプッシュするサービスがあり、プッシュされる日付の形式は "yyyyMMdd"です。SQL Serverの日付の形式インドから米国

私のデータベースはインドにありますので、日付の形式と現在の日付はインドの文化とロケールに基づいています。

私のウェブサーバーは米国に居住しています。そのため、日付の形式は米国に基づいています。

インドと米国の時間にはほぼ13時間の差があります。だから、私のクライアントが2011年6月13日に午前9時に委託をしたとき、それは6月12日に受け取ったウェブサイトに表示されます。

クライアントを予約する前に委託を受けても、そのような大きな面倒があります。これを納得させるために私を案内してください。

おかげ

答えて

1

これは、ユーザーの入力を取り、UTCに変換します:あなたはUTCとしてデータベース内のすべてのDateTime値を格納し、ユーザーに提示することができ

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

SELECT @input UserInput, @utc UTC; 

方でタイムゾーン/文化は適切です。

+0

あなたの提案したアプローチを試しましたが、まだ理解していません。しかし、それは魅力のように機能します。ありがとう –

0

実際に取引は6月12日に米国で行われたので、実際は正しいです。

米国で見たときの6月の12日とインドでの6月の13日を表示するには、日付をUTCの日付として保存する必要があります。

関連する問題