2011-07-27 6 views
1

SQL 서버 데이터베이스에서 웹 데이터베이스로 날짜를 푸시하는 서비스가 있고 푸시 된 날짜 형식은 "yyyyMMdd"입니다.SQL Server 날짜 형식 인도에서 미국

내 데이터베이스는 인도에 있으므로 날짜 형식과 현재 날짜는 인도 문화 및 지역에 따라 다릅니다.

내 웹 서버는 미국에 거주하므로 날짜 형식은 미국을 기준으로합니다.

인도와 미국 시간은 거의 13 시간 차이가 있습니다. 그래서 고객이 아침 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 날짜로 저장해야합니다.