2012-01-17 35 views
1

我想創建一個有幾個條件的人(指南)列表。比較上午和下午進行過濾

如果指南已經在一天中的某個時刻被佔用(我想在2:AM或PM中劃分),必須對其進行過濾。

這就是我想要的那一刻比較日子

oReservationDetailGuide.tblReservationDetail.StartTime.Value.Date.ToString("tt") != dDate.Date.ToString("tt")) 

它檢查當天的時刻是不相等的部分(AM/PM)。 AM!= PM(真) PM!= AM(真) AM == AM(假) PM == PM(假)

,但我怎麼能得到的只是 'AM' 或 'PM' 出來我的約會?因爲.ToString(「tt」)不會返回任何結果。

+2

由您簡化了這個代碼足以提出一個問題,這應該是顯而易見什麼錯誤的時間。但是這段代碼真的很難閱讀,並且可能對於它的工作複雜得多。 – CodingBarfield 2012-01-17 13:48:14

+1

就像旁邊一樣 - LINQ使用延遲執行。您可能應該將某些子查詢邏輯分解爲單獨的查詢變量,以便整個混亂更容易理解。 – Yuck 2012-01-17 13:49:37

+0

你只是想比較一下時間是上午還是下午?如果是這樣,爲什麼要轉換爲字符串,而不是隻檢查日期時間值12pm? – ChrisBD 2012-01-17 13:53:25

回答

0

我會格式化你的時間,像這樣:"0:hh:mm:ss.F t"

但我認爲你會看到一個t是什麼格式AM/PM。

+0

所以.ToString(「t」)應該做的伎倆。我會檢查出來 – bflydesign 2012-01-17 14:34:15

+0

它沒有工作。我怎樣才能得到上午/下午作爲輸出沒有別的? – bflydesign 2012-01-17 14:57:20

0
  1. 爲了比較日期更好地利用DateTime.Compare方法 enter link description here

  2. 你的查詢非常大,很難有人支持,並通過你在下個月(因爲當你將看到巨大的查詢在暫停一段時間之後,你不想進行任何修改 - 這個查詢很怪)。

好運

+0

thx,但我不需要比較幾個小時,只需要檢查指南在當天那個時刻是否還沒有被佔用,記爲AM或PM – bflydesign 2012-01-17 14:43:22