簡體   English   中英

如何使用where子句編寫linq查詢以獲取上午9點至下午5點之間的記錄

[英]how to write linq query with where clause to get records between 9 am to 5 pm

如何編寫linq查詢以僅在上午9點至下午5點之間獲取記錄。 超出的記錄應丟棄。

時間戳數據類型

在此處輸入圖片說明

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))
                     .GroupBy(a => a.dataFrame.Substring(a.dataFrame.Length - 12))
                     .Select(g => g.First()).OrderBy(a => a.timestamp);
Pirs.Where(a.timestamp.TimeOfDay > new TimeStamp(9, 0, 0) &&   //all times after 9am
           a.timestamp.TimeOfDay < new TimeStamp(17, 0, 0) &&  //all times before 5pm
           a.timestamp.Date > fromDate &&                      //all dates after fromData
           a.timestamp.Date < toDate)                          //all dates before toDate

在有條件的地方執行以下操作

TimeSpan span = TimeSpan.Parse("09:00:00");
TimeSpan espan = TimeSpan.Parse("17:00:00");

Pirs.Where(a => a.timestamp >= startDate && a.timestamp <= toDate && a.timestamp.TimeOfDay >= span && a.timestamp.TimeOfDay <= espan);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM