C#关于日期月天数和一年有多少周及某年某周时间段的计算

本文提供了一个方法来计算指定月份的天数,并实现了一种算法来确定年度内某一指定周的起始和结束日期。通过解析日期参数,函数能够有效地为开发者解决日期相关的复杂问题。

/// <summary>

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// 当前月有多少天

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// </summary>

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// <param name="y"></param>

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// <param name="m"></param>

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// <returns></returns>

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        public static int HowMonthDay(int y, int m)

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客{

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            int mnext;

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            int ynext;

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            if (m < 12)

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客{

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客                mnext = m + 1;

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客                ynext = y;

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            }

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            else

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客{

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客                mnext = 1;

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客                ynext = y + 1;

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            }

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            DateTime dt1 = System.Convert.ToDateTime(y + "-" + m + "-1");

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            DateTime dt2 = System.Convert.ToDateTime(ynext + "-" + mnext + "-1");

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            TimeSpan diff = dt2 - dt1;

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            return diff.Days;

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        }

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /**//// <summary>

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// 得到一年中的某周的起始日和截止日

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// 年 nYear

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// 周数 nNumWeek

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// 周始 out dtWeekStart

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// 周终 out dtWeekeEnd

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// </summary>

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// <param name="nYear"></param>

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// <param name="nNumWeek"></param>

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// <param name="dtWeekStart"></param>

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// <param name="dtWeekeEnd"></param>

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        public static void GetWeek(int nYear, int nNumWeek, out   DateTime dtWeekStart, out   DateTime dtWeekeEnd)

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客{

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            DateTime dt = new DateTime(nYear, 1, 1);

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            dt = dt + new TimeSpan((nNumWeek - 1) * 7, 0, 0, 0);

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            dtWeekStart = dt.AddDays(-(int)dt.DayOfWeek + (int)DayOfWeek.Monday);

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            dtWeekeEnd = dt.AddDays((int)DayOfWeek.Saturday - (int)dt.DayOfWeek + 1);

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        }

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /**//// <summary>

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// 求某年有多少周

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// 返回 int

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// </summary>

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// <param name="strYear"></param>

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// <returns>int</returns>

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        public static int GetYearWeekCount(int strYear)

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客{

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            string returnStr = "";

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            System.DateTime fDt = DateTime.Parse(strYear.ToString() + "-01-01");

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            int k = Convert.ToInt32(fDt.DayOfWeek);//得到该年的第一天是周几

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            if (k == 1)

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客{

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客                int countDay = fDt.AddYears(1).AddDays(-1).DayOfYear;

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客                int countWeek = countDay / 7 + 1;

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客                return countWeek;

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            }

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            else

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客{

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客                int countDay = fDt.AddYears(1).AddDays(-1).DayOfYear;

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客                int countWeek = countDay / 7 + 2;

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客                return countWeek;

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            }

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        }

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /**//// <summary>

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// 求当前日期是一年的中第几周

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// </summary>

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// <param name="date"></param>

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        /// <returns></returns>

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        public static int WeekOfYear(DateTime curDay)

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客{

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            int firstdayofweek = Convert.ToInt32(Convert.ToDateTime(curDay.Year.ToString() + "- " + "1-1 ").DayOfWeek);

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            int days = curDay.DayOfYear;

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            int daysOutOneWeek = days - (7 - firstdayofweek);

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            if (daysOutOneWeek <= 0)

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客{

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客                return 1;

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            }

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            else

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客{

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客                int weeks = daysOutOneWeek / 7;

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客                if (daysOutOneWeek % 7 != 0)

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客                    weeks++;

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客                return weeks + 1;

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客            }

C关于日期月天数和一年有多少周及某年某周时间段的计算 - iautou - iautou的博客        }

转载于:https://www.cnblogs.com/dogxuefeng/archive/2013/06/08/3126902.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值