代码之家  ›  专栏  ›  技术社区  ›  Shakeer Hussain

在c#LINQ中将dateTime“MM/dd/yyyy hh:MM:ss”与“yyyy-MM-dd hh:MM:ss”进行比较

  •  -1
  • Shakeer Hussain  · 技术社区  · 4 年前

    如何使用以下日期时间格式检查大于的日期时间。

    在“CreatedDate”列中有以下格式值。

    Created Date
        2020-03-01 10:59:50.250
        2020-03-01 10:40:39.610
        2020-03-01 10:39:18.087
        2020-02-29 07:39:18.087
    
     public IQueryable<UserProfile> GetTopUserProfiles(System.DateTime startDateTime)
     {
       return GetDbContext(toUpdate).Get<UserProfile>( w =>w.CreatedDate >= startDateTime);
     }
    
    
     var dtstart = DateTime.Now.ToString("yyyy-MM-dd");
         statDateTime = Convert.ToDateTime(dtstart).AddHours(8); //add 8 hours to current date.
        //start DateTime value: 3/1/2020 8:00:00 AM
    
     var count = _userProfileRepository.Value.GetTopUserProfiles(startDate).Count();
    
    count is returning 0. 
    Expected count is 3
    
    1 回复  |  直到 4 年前
        1
  •  0
  •   Nguyễn Văn Phong Murtaza Patrawala    4 年前

    基本上,您不需要转换为 yyyy-MM-dd .

    您应该考虑服务器时间值是否介于 .NET 后端和 SQL 数据库是否相同。

        2
  •  0
  •   Lucifer    4 年前

    试试下面的代码

    return GetDbContext(toUpdate).Get<UserProfile>( w => DateTime.Compare(w.CreatedDate,startDateTime) > 0);