2017-11-01 29 views
0

2つのタイムスタンプ間でレコードを取得するLINQクエリを作成する方法はありますか?日付と時刻の間にレコードを取得するLINQクエリ

私はtodatehourtimeためfromdatehourtimeおよび他の3つのテキストボックスの3つのテキストボックスを持っています。

以下のコードは不正確なレコードです。どのように日付、時間、分の賢明なレコードを取得するには?

int Fromhours = FHrs; 
int Tohours = ToHrs; 
int From_min = FromMin; 
int To_min = ToMin; 

var items = Pirs.Where(a => !a.dataFrame.EndsWith("AAAAAAAAAAA=") 
      && (fromDate == null || 
       fromDate.Value.Date <= TimeZoneInfo.ConvertTimeFromUtc(Convert.ToDateTime(a.timestamp), 
       TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")).Date) 
      && ((toDate == null || 
       toDate.Value.Date >= TimeZoneInfo.ConvertTimeFromUtc(Convert.ToDateTime(a.timestamp), 
       TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")).Date) 
      && fromDate == null || 
       TimeZoneInfo.ConvertTimeFromUtc(Convert.ToDateTime(a.timestamp), 
       TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")).Hour >= Fromhours 
      && fromDate == null || 
       TimeZoneInfo.ConvertTimeFromUtc(Convert.ToDateTime(a.timestamp), 
       TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")).Hour <= Tohours)) 
+2

コード全体を読むのが簡単になるようにコードをフォーマットしてください。たくさんのスクロールと改行... –

+0

DateTime変換を行うための静的ヘルパー関数を作成します。今のように書くことで、クエリロジックを理解することは非常に困難です。 – Jasen

答えて

1

クエリロジックを理解することは非常に困難です。

なぜ、日付、時間、分を収集するために3つの異なるテキストボックスを選択しましたか?簡単にDateTimeを開始しているテキストボックスとDateTime.Soを終了するストアを使用できます。この多くのTextboxを指定する必要はありません特定の日時の間にレコードを検索するためのものです。

要件に応じて異なるdateTime関数を使用してDateTime変換を行うことができます。このDatetime文字列からDate、hour、minを分割する場合は、C#DateTimeヘルパー関数を使用します。

関連する問題