[英]how to get records between particular time using linq query in entity framework
我想在晚上8點到凌晨6點之間獲取記錄。 僅在晚上8點至早上6點之間如何編寫where子句才能獲取記錄。 碼
model = model.OrderByDescending(x => DateTime.Parse(x.UpdatedTime)).Where(x=>x.status=="UP").Take(100).ToList();
樣本數據
1 39 6/28/2017 12:08:43 PM UP
2 39 6/28/2017 12:04:18 PM UP
3 39 6/28/2017 11:49:45 AM UP
數據類型
public string UpdatedTime { get; set; }
控制者
binModel.UpdatedTime = TimeZoneInfo.ConvertTimeFromUtc(item.timestamp, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")).ToString();
model = model.Where(x=> {
var timeOfDay = DateTime.Parse(x.UpdatedTime).TimeOfDay;
return x.status=="UP" &&
(timeOfDay.TotalHours >= 20 || timeOfDay.TotalHours < 6);
})
.OrderByDescending(x => DateTime.Parse(x.UpdatedTime)).Take(100).ToList();
應該確認時間是晚上8點或之后,以及早上6點之前。
檢查DateTime.Hour大於8pm或小於6 AM
model = model.OrderByDescending(x => DateTime.Parse(x.UpdatedTime)).Where(x=>x.status=="UP" && (UpdatedTime.Hour > 20 || UpdatedTime.Hour < 6)).Take(100).ToList();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.