【问题标题】:Filter specifc dates in ASP.net Core mvc在 ASP.net Core mvc 中过滤特定日期
【发布时间】:2019-11-20 17:55:36
【问题描述】:

我目前正在制定一个议程,我想从即将到来的一周返回日期。

我的控制器中这个视图的代码如下:

public ViewResult List()
{

    return View(repository.Days
        .OrderBy(d => d.date));
}

但是,此函数仅排序并返回所有日期,而不仅仅是下周的日期。 我想知道是否有人可以帮助我获得即将到来的一周的日期/日期,从而获得所需的排序运算符。

【问题讨论】:

  • 您可能需要.Where(d => d.date >= startOfNextWeekDate) 来过滤掉较早的日期
  • 谢谢,我试试看!

标签: c# asp.net date filter asp.net-core-mvc


【解决方案1】:

找到合适的解决方案:

    public ViewResult List()
    {
        DateTime startOfCurrentWeek = DateTime.Today.AddDays(-1 * (int)(DateTime.Today.DayOfWeek));
        DateTime startOfNextWeek = startOfCurrentWeek.AddDays(8);
        DateTime endOfNextWeek = startOfCurrentWeek.AddDays(14);

        return View(repository.Days
            .Where(d => d.date >= startOfNextWeek && d.date <= endOfNextWeek));
    }

这段代码的作用是:

  1. 获取本周开始日期 (startOfCurrentWeek)
  2. 添加 8 天以使其从下周的星期一开始(startOfNextWeek)
  3. 将当前周的开始日期加上 14 天,以获得下周的最后一天 (endOfNextWeek)
  4. 返回等于或在下周星期一开始之后的所有日期 (d => d.date >= startOfNextWeek)
  5. 下周的星期日之后不返回任何值,因此将输出限制为下周的 7 天 (d.date

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    • 2020-04-25
    • 2018-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多