【问题标题】:Given a DayOfTheWeek how do i get the date from an existing datetime给定 DayOfTheWeek 我如何从现有日期时间获取日期
【发布时间】:2015-01-20 09:19:55
【问题描述】:

我有一个 jquery 日历,用户可以从中选择一个日期。 我还有一个来自 Mon - Sun 的列表,用户可以单击该列表,该列表是从日历中选择的一周的周一到周日。

我可以使用 c# 的 DayOfWeek 方法从 jquery 的选定日期获取当前星期几。 我让用户从周一-周日列表(1-7)中选择了一周中的哪一天

但是我如何根据用户从周一到周日列表中点击的哪一天来形成一个新的日期?

例如,用户从 Jquery 日历中选择 2015 年 1 月 16 日星期五。

然后他们从选择列表中单击星期一。

我应该能够计算出星期一是 2015 年 1 月 12 日

干杯

【问题讨论】:

    标签: c# jquery asp.net-mvc


    【解决方案1】:

    给你,

            DateTime selectedDate = DateTime.Now; //your selected date
    
            DayOfWeek s = selectedDate.DayOfWeek; // your selected day of the selecteddate.
            DayOfWeek selectedWeek = DayOfWeek.Friday; //your selected weekday.
    
            DateTime output = selectedDate.AddDays((int)selectedWeek - (int)s); //output.
    

    【讨论】:

    • 实际上只是看起来更近了一点,因为周日在 C# 的 DayOfWeek 枚举中为 0,所以当调用 selectedDate.AddDays((int)selectedWeek - (int)s); 时,我会超出范围异常。你对解决这个问题有什么想法吗?
    • 您在哪一行遇到异常?请输入数据以及您在哪里得到异常。因为当结果 Datetime 小于 DateTime.MinValue 或大于 DateTime.MaxValue 时 AddDays 抛出异常。
    【解决方案2】:
    DateTime dateTime = DateTime.Now;
    var date = dateTime.DayOfWeek.ToString();
    

    DateTime dateTime = new DateTime(2015, 1, 12);
    

    您可以从特定日期获取 DayOfWeek。

    DayOfWeek 是一个枚举。所以当你有星期一时,它可能有例如后面的整数 1。当你现在有星期五时,你有例如后面的整数 5。

    我想现在你可以计算出星期五比星期一晚 4 天。所以它是星期五的 DateTime(2015, 1, 12 + 4)

    这有帮助吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多