获取日期选择后的日期范围

本文关键字:日期 范围 取日期 选择 获取 | 更新日期: 2023-09-27 18:05:54

我有一个4列的数据库表(customer)

Name
Lastname
StartDate
StopDate

开始和停止日期可以持续数天,即

StartDate          StopDate
01.01.2015 00:00 - 01.01.2015 01:00 - Period is 1 hour
01.01.2015 00:00 - 01.05.2015 01:00 - Period is 4 days
01.01.2015 00:00 - 01.10.2015 01:00 - Period is 9 days

我有一个asp.net日历控件。当用户单击此日历上的日期时,我希望以以下方式返回日期

如果选择01.01.2015,将返回上述所有3条记录如果选择02.01.2015,则只返回最后2条记录(因为第1条记录现在已经过期)。如果选择03.01.2015,则只返回最后2条记录(因为第1条记录现已过期)如果选择了06.01.2015,则只返回最后一条记录(因为前2条记录已经过期)

希望这是有意义的?

所以我尝试执行这个导致了一些混乱使用Linq SQL

Private IQueryable<Insurer> GetInsurers(DateTime UserSelectedDate)
{
    return db.Insurers(dt=> dt.StartDate >= UserSelectedDate && dt.StopDate <= UserSelectedDate)
}

我已经尝试了其他的变化,包括一些在互联网上,但没有得到结果后,通常意味着我错过了一些关键的东西在这里(或我累了自己)....任何想法?

获取日期选择后的日期范围

只需在查询中交换变量的位置。

private IQueryable<Insurer> GetInsurers(DateTime UserSelectedDate)
{
    return db.Insurers(dt=> UserSelectedDate >= dt.StartDate && UserSelectedDate <= dt.StopDate)
}

这意味着UserSelectedDate应该在开始日期之后或相同,并且应该在结束日期之前或之前结束。