C#计算当前是本月第几周

  • A+
所属分类:ASP.NET C#

C#计算当前是本月第几周

直接贴代码段

  1. /// <summary>  
  2. /// 计算当前是本月第几周 getWeekNumInMonth(DateTime.Now)  
  3. /// </summary>  
  4. /// <param name="daytime"></param>  
  5. /// <returns></returns>  
  6. public static int getWeekNumInMonth(DateTime daytime)  
  7. {  
  8.     int dayInMonth = daytime.Day;  
  9.     //本月第一天  
  10.     DateTime firstDay = daytime.AddDays(1 - daytime.Day);  
  11.     //本月第一天是周几  
  12.     int weekday = (int)firstDay.DayOfWeek == 0 ? 7 : (int)firstDay.DayOfWeek;  
  13.     //本月第一周有几天  
  14.     int firstWeekEndDay = 7 - (weekday - 1);  
  15.     //当前日期和第一周之差  
  16.     int diffday = dayInMonth - firstWeekEndDay;  
  17.     diffday = diffday > 0 ? diffday : 1;  
  18.     //当前是第几周,如果整除7就减一天  
  19.     int WeekNumInMonth = ((diffday % 7) == 0  
  20.                                 ? (diffday / 7 - 1)  
  21.                                 : (diffday / 7)) + 1 + (dayInMonth > firstWeekEndDay ? 1 : 0);  
  22.     return WeekNumInMonth;  
  23.   
  24. }  
钰玺

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: