LINQ中判断日期时间段


1)转换日期格式为DateTime类型

DateTime dtToday = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd"));//今天
DateTime dtNexDay = Convert.ToDateTime(DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"));//明天
DateTime dtMonthFirstday = Convert.ToDateTime(new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).ToString("yyyy-MM-dd"));//本月
DateTime dtThreeMonth = Convert.ToDateTime(new DateTime(DateTime.Now.Year, DateTime.Now.AddMonths(-3).Month, 1).ToString("yyyy-MM-dd"));//3个月前
DateTime dtYearFirstday = Convert.ToDateTime(new DateTime(DateTime.Now.Year, 1, 1).ToString("yyyy-MM-dd"));//今年

2)使用LINQ判断日期

var query = db.Query<UserInfo>().Where(c=>c.Date>dtToday&&c.Date<dtNexDay)


PS:一般判断方法,使用DateTime的Compare方法

  string startTime = db.UserInfo.FirstOrDefault().StartTime;
  string endTime = db.UserInfo.FirstOrDefault().EndTime;

  DateTime startDT = Convert.ToDateTime(startTime);
  DateTime endDT = Convert.ToDateTime(endTime);

  DateTime nowDT = DateTime.Now;

  if(DateTime.Compare(nowDT,startDT ) > 0 && DateTime.Compare(nowDT,endDT )< 0)
  {
    ConSole.WriteLine("现在处于startTime 和endTime 之间的时间段");
  }

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM