2012-01-17 53 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