2016-11-22 6 views
2

レコードの名前はdbで、レコードはいくつかあります。 これは列ライン以下ユーザーごとのUTCによるタイムゾーンの変更の計算

Id(uniqueidentifier) 
SubmittedDate(DateTime) 
RecordNumber(uniqueidentifier) 

レコードの一つの列を表すの下、

Id          RecordNumber     SubmittedDate 
'CD458C6D-9F45-41C1-85D8-E3D8287A82B4', 'EBB5DE3A-4B14-4112-AF51-0F8367FE3383' '2016-11-02 08:27:17.300' 

ユーザがタイムゾーンのいずれかからレコードを提出することができています。ベストプラクティスの一環として、DateTimeをUTCで保存しています。 したがって、ユーザーごとにtimezoneをdatetimeをUTCに変換してテーブルを保存しています。

ここで、結果は、ユーザーが日付順に提出した件数として返さなければなりません。 ユーザーごとにタイムゾーンごとにレコードを返す必要があります。

ユーザーが22Nov2016の午前1時に10件のレコードを提出し、21Nov2016に提出されたレコードがなく、ユーザーがISTタイムゾーンに属している場合。 サーバー側では、我々はISTに22Nov2016一時00分AMに変換され、同じユーザーのクエリは、我々が追加された日11月24日の最後の5日間のレコードが現在のユーザーのタイムゾーンすなわちのオフセットを取得した場合21Nov2016 9:00 PM UTC

としてそれを保存します(+5:30)からSubmittedDate列に移動し、それに従ってレコードを取得します。 それで、ユーザーがタイムゾーンごとに提出したレコードの正しい数を取得する必要があります。 SubmittedDate日付にUTCオフセットを追加した後、22Nov2016の日付のレコード数が10になります。

このソリューションは、夏時間の間、つまりタイムゾーンがPSTからPDTに、またはその逆に変換されるときにUTCオフセットに変更があった場合は機能しません。ユーザーがrecods

を提出したとき

は、ユーザーの表に、この我々が追加したタイムゾーンの列を克服するために

ID(UNIQUEIDENTIFIER) SubmittedDate(日時) RecordNumber(UNIQUEIDENTIFIER) SubmittedTimeZone(varchar型)

ので、 a)夏時間がオンのタイムゾーンからのユーザークエリレコードと、夏時間があったときに提出されたレコードが提出されたとき、オフセットするものは何も実行していません。

b)夏時間保存が設定されているタイムゾーンからユーザクエリレコードが送信され、その場合に夏時間がオフになっている場合は、オフセットに1時間を追加しています。

c)夏時間がオフになっているタイムゾーンからのユーザークエリレコードと、夏時間がある場合は送信されたレコードが送信された場合、オフセットに-1時間を追加しています。

d)夏時間がオフになっているタイムゾーンからのユーザークエリレコードがあり、夏時間がオフになっているときに送信されたレコードも送信されたとき、オフセットするものは何もしません。

このタイムゾーン/夏時間の処理方法は、タイムゾーンごとに適切ですか?

注:私たちは、夏時間が「夏時間」「アラスカ夏時間」のような 、「東部夏時間の時間」として最後の二つの言葉を持っている列SubmittedTimeZone値でオンにしたがある場合にも提出された提出したレコードを識別しています

ここで、タイムゾーンが別のタイムゾーンでオフになっていると、夏時間がオンになっている可能性があります。おそらく、送信された日付と送信されたタイムゾーンの列に基づいて、ユーザーにタイムゾーンを要求するためのオフセットを計算する必要があります。

答えて

0

この場合、夏時間の効果によって変更されるオフセットとして、[提出日時]にオフセットを追加することはできません。

したがって、ユーザーがレコードを送信したときと、送信されたレコードのクエリ数が異なる場合のオフセット。その結果、誤ったレコード数になります。

これを解決するには、要求しているユーザーのタイムゾーンを取得し、各レコードのsubmitDatetime値を要求ユーザーのタイムゾーンに変換してから、日付ごとに送信されたレコード数の計算を行います。

注:For conversion of DateTime into particular datetime

関連する問題