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         }
查看全部

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM