我们知道一年总共有52个周,那么C#如何获得当前时间是今年第几周呢?我们可以通过下面的实例来获得:
/// <summary> /// 获取当前时间是当年的第几周 /// </summary> /// <param name="dt"></param> /// <returns></returns> public static int GetWeekIndexByYear(DateTime dt) { //当前时间当年的第一天 DateTime time = Convert.ToDateTime(dt.ToString("yyyy") + "-01-01"); TimeSpan ts = dt - time; //当年第一天是星期几 int firstDayOfWeek = (int)time.DayOfWeek; //获取当前时间已过的总天数(四舍五入) int day = int.Parse(ts.TotalDays.ToString("F0")) + 1; //今年第一天星期日 if (firstDayOfWeek == 0) { //总天数减1 day--; } else { //减去第一周的天数 day = day - (7 - firstDayOfWeek + 1); } //当前日期的星期 int thisDayOfWeek = (int)dt.DayOfWeek; //星期日直接减7天 if (thisDayOfWeek == 0) { day = day - 7; } else { day = day - thisDayOfWeek; } //第一个星期完整的7天+ 当前时间这个星期的7天 除以7 int week = (day + 7 + 7) / 7; return week; }
通过以上内容我们知道了C#获得当前时间是今年第几周,感谢您访问“我爱捣鼓(www.woaidaogu.com)”网站的内容,希望对大家有所帮助!引用本文内容时,请注明出处!谢谢合作!