我在LINQ中寻找日期比较,我找到了搜索谷歌的代码。
var currentDate = DateTime.Now.Date;
VisitorLog log = db.Context.VisitorLogs .Where(vl => vl.inDate.Date == currentDate).FirstOrDefault();
我需要知道上面的代码是否正常工作。
我如何比较特定格式的日期,比如我在sql server中比较日期
compare(varchar(10),mydatefield,112)>=compare(varchar(10),@mydatefield,112)
所以请指导我如何使用linq比较日期,特别是上面的格式。
感谢
答案 0 :(得分:1)
答案 1 :(得分:1)
问题是您很少会以特定格式比较日期(除非您想将它们作为字符串或其他内容进行比较)。因此引入了DateTime结构。
无论如何,最常用的比较日期的方法不是检查是否相等,而是要实际检查日期是否进入特定范围。例如:
startDate <= order.OrderDate && order.OrderDate < endDate
答案 2 :(得分:0)
将字符串解析为DateTime对象时格式很重要。完成后,您有两个DateTime对象,然后比较它们的Date属性是正确的做法。 Date属性返回DateTime对象,时间设置为12:00 am
为了正确解析日期,您可以将IFormatProvider传递给DateTime.Parse()方法。例如。 CultureInfo对象:
DateTime d = DateTime.Parse("07/04/2011", CultureInfo.GetCultureInfo("en-us"));