日期是当月的第几周

来源:互联网 发布:淘宝客站内寻找方法 编辑:程序博客网 时间:2024/04/30 12:27
        /// <summary>        /// 日期是当月的第几周        /// </summary>        /// <param name="dtSel">要判断的日期</param>        /// <param name="sundayStart">false周一为一周的开始,true周日为一周的开始</param>        /// <returns></returns>        public static int WeekOfMonth(DateTime dtSel, bool sundayStart)        {            //如果要判断的日期为1号,则肯定是第一周了            if (dtSel.Day == 1)                return 1;            else            {                //得到本月第一天                DateTime dtStart = new DateTime(dtSel.Year, dtSel.Month, 1);                //得到本月第一天是周几                int dayofweek = (int)dtStart.DayOfWeek;                //如果不是以周日开始,需要重新计算一下dayofweek,详细风DayOfWeek枚举的定义                if (!sundayStart)                {                    dayofweek = dayofweek - 1;                    if (dayofweek < 0)                        dayofweek = 7;                }                //得到本月的第一周一共有几天                int startWeekDays = 7 - dayofweek;                //如果要判断的日期在第一周范围内,返回1                if (dtSel.Day <= startWeekDays)                    return 1;                else                {                    int aday = dtSel.Day + 7 - startWeekDays;                    return aday / 7 + (aday % 7 > 0 ? 1 : 0);                }            }        }


找不到出处了。。。

0 0
原创粉丝点击