在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
/// 当前月有多少天 /// </summary> /// <param name="y"></param> /// <param name="m"></param> /// <returns></returns> public static int HowMonthDay(int y, int m) { int mnext; int ynext; if (m < 12) { mnext = m + 1; ynext = y; } else { mnext = 1; ynext = y + 1; } DateTime dt1 = System.Convert.ToDateTime(y + "-" + m + "-1"); DateTime dt2 = System.Convert.ToDateTime(ynext + "-" + mnext + "-1"); TimeSpan diff = dt2 - dt1; return diff.Days; }
/// <summary> /// 得到一年中的某周的起始日和截止日 /// 年 nYear /// 周数 nNumWeek /// 周始 out dtWeekStart /// 周终 out dtWeekeEnd /// </summary> /// <param name="nYear"></param> /// <param name="nNumWeek"></param> /// <param name="dtWeekStart"></param> /// <param name="dtWeekeEnd"></param> public static void GetWeek(int nYear, int nNumWeek, out DateTime dtWeekStart, out DateTime dtWeekeEnd) { DateTime dt = new DateTime(nYear, 1, 1); dt = dt + new TimeSpan((nNumWeek - 1) * 7, 0, 0, 0); dtWeekStart = dt.AddDays(-(int)dt.DayOfWeek + (int)DayOfWeek.Monday); dtWeekeEnd = dt.AddDays((int)DayOfWeek.Saturday - (int)dt.DayOfWeek + 1); }
/// <summary> /// 求某年有多少周 /// 返回 int /// </summary> /// <param name="strYear"></param> /// <returns>int</returns> public static int GetYearWeekCount(int strYear) { string returnStr = ""; System.DateTime fDt = DateTime.Parse(strYear.ToString() + "-01-01"); int k = Convert.ToInt32(fDt.DayOfWeek);//得到该年的第一天是周几 if (k == 0) { int countDay = fDt.AddYears(1).AddDays(-1).DayOfYear; int countWeek = countDay / 7 + 2; return countWeek; } else { int countDay = fDt.AddYears(1).AddDays(-1).DayOfYear; int countWeek = countDay / 7 + 1; return countWeek; } }
/// <summary> /// 求当前日期是一年的中第几周 /// </summary> /// <param name="date"></param> /// <returns></returns> public static int WeekOfYear(DateTime curDay) { int firstdayofweek = Convert.ToInt32(Convert.ToDateTime(curDay.Year.ToString() + "- " + "1-1 ").DayOfWeek); int days = curDay.DayOfYear; int daysOutOneWeek = days - (7 - firstdayofweek); if (daysOutOneWeek <= 0) { return 1; } else { int weeks = daysOutOneWeek / 7; if (daysOutOneWeek % 7 != 0) weeks++; return weeks + 1; } }
(注:转自http://www.cnblogs.com/yuanermen/archive/2008/07/14/1242853.html) |
请发表评论