現在の時刻を DB に保存されている 2 つの時刻と比較する必要がある C# の Windows コンソール アプリケーションがあります。DB に挿入する前に UTC に変換された日付と時刻。ここで、これらの値をフェッチし、時間部分のみを現地時間と比較する必要があります。私の日付が次のようになっているとしましょう:
DateTime dt1 = new DateTime(2013, 08, 29, 00, 00, 00)
DateTime dt2 = new DateTime(2013, 08, 29, 23, 59, 59)
これら 2 つの日付を UTC に変換して DB に保存すると、DB の値は「28/08/2013 18:30:00」と「29/08/2013 18:00:00」のようになります。
私の現在の現地時間が '14:00:00' で、確認する条件は、私の現地時間が DB 日時値の時間部分の間にある必要があるとします。お気に入り
if(DateTime.Now.TimeOfDay >= DBTime1 && DateTime.Now.TimeOfDay <= DBTime2)`
{
//true condition logic
}
データベースの日時をローカルに変換して比較すると、ローカル システムで期待どおりに動作しています。私の疑問は、アプリケーションが英国のサーバーでホストされていて、インドからアクセスしている場合、時間比較が期待どおりに機能するかどうかです。現地時間に変換する際に、DST (Day Saving Time) や TimeZone などを考慮する必要がありますか?