C# 获取时间是第几周-在当年

 1 /// <summary>
 2         /// 获取当前时间是当年的第几周
 3         /// </summary>
 4         /// <param name="dt"></param>
 5         /// <returns></returns>
 6         public static int GetWeekIndexByYear(DateTime dt)
 7         {
 8             //当前时间当年的第一天
 9             DateTime time = Convert.ToDateTime(dt.ToString("yyyy") + "-01-01");
10             TimeSpan ts = dt - time;
11             //当年第一天是星期几
12             int firstDayOfWeek = (int)time.DayOfWeek;
13             //获取当前时间已过的总天数(四舍五入)
14             int day = int.Parse(ts.TotalDays.ToString("F0")) + 1;
15             //今年第一天星期日
16             if (firstDayOfWeek == 0)
17             {
18                 //总天数减1
19                 day--;
20             }
21             else
22             {
23                 //减去第一周的天数
24                 day = day - (7 - firstDayOfWeek + 1);
25             }
26             //当前日期的星期
27             int thisDayOfWeek = (int)dt.DayOfWeek;
28             //星期日直接减7天
29             if (thisDayOfWeek == 0)
30             {
31                 day = day - 7;
32             }
33             else
34             {
35                 day = day - thisDayOfWeek;
36             }
37             //第一个星期完整的7天+ 当前时间这个星期的7天 除以7
38             int week = (day + 7 + 7) / 7;
39             return week;
40         }
查看全部

 

posted @ 2020-03-06 12:01  DeveloperLu  阅读(2676)  评论(1编辑  收藏  举报