第一個問題 var res = pwDb.Set<WorkInfo>().Where(t => t.WorkTime > startTime && t.WorkTime < endTime); 用大餘小餘就行了,簡單。 第二個問題就麻煩了,資料庫內儲存的時間是含有秒。而js傳過去時間只有日期,而我們 ...
第一個問題
var res = pwDb.Set<WorkInfo>().Where(t => t.WorkTime > startTime && t.WorkTime < endTime);
用大餘小餘就行了,簡單。
第二個問題就麻煩了,資料庫內儲存的時間是含有秒。而js傳過去時間只有日期,而我們實際操作時,也只需要查詢日期。這個時候EF會自動把日期時間加上00:00:00,這樣前端選擇最後一天就查不到,應該是23:59:59才對。
解決辦法:
endTime = Convert.ToDateTime(EndTime).AddDays(1).AddSeconds(-1);
用AddDays(1)加上一天,然後用AddSeconds(-1)減去一秒,就行了
註意如果拿到日期含時間的話,就用Date方法,這樣就只有日期了
如DateTime.Now.Date.AddDays(1).AddSeconds(-1);
這樣就可以了!
記錄一下....