【问题标题】:Get Number of days in a week获取一周的天数
【发布时间】:2015-07-30 06:48:11
【问题描述】:

如何计算一周的天数?例如,2015 年 1 月的第一周有 4 天,因此该函数将返回 4..... 用户从日期选择器中选择月份,因此它可以是任何年份

找到一个类似问题的链接,但找不到该页面

【问题讨论】:

标签: c# datetime


【解决方案1】:

试试这个:

    /// <summary> Get days in a week </summary>
    /// <param name="year">Number of year</param>
    /// <param name="month">Number of month. From 1 to 12</param>
    /// <param name="week">Number of week. From 1 to 5</param>
    /// <returns>Count of days</returns>
    public static int DaysInWeek(int year, int month, int week)
    {
        var weekCounter = 1;
        var daysCounter = 0;
        var dayInMonth = DateTime.DaysInMonth(year, month);
        for (var i = 1; i <= dayInMonth; i++)
        {
            ++daysCounter;
            var date = new DateTime(year, month, i);
            if (date.DayOfWeek == DayOfWeek.Sunday || i == dayInMonth)
            {
                if (weekCounter == week)
                    return daysCounter;

                weekCounter++;
                daysCounter = 0;
            }
        }
        return 7;
    }

【讨论】:

    【解决方案2】:

    三种情况:

    • 对于第一周,返回与该周的星期日同年的该周的天数。
    • 对于最后一周,返回该周中与该周的星期一同年的天数。
    • 对于所有其他周,返回 7。

    【讨论】:

      猜你喜欢
      • 2012-11-22
      • 2021-07-21
      • 2013-11-22
      • 2014-09-25
      • 2017-12-29
      • 1970-01-01
      • 2019-10-16
      • 1970-01-01
      • 2020-06-04
      相关资源
      最近更新 更多