大家好,欢迎来到IT知识分享网。
因为要写一个维修生产力的数据录入,数据分析的程序,需要用到周别。但是不知道怎么算,网上的文章好像都不适合;只好自己拍脑袋想了。
每年1/1开始不管第一周满不满7天都算一周。
思路: 找到第一周或者第二周作基准周,然后根据当前日期与基准周的Monday之间的差异天来计算当前的周别。
代码写的简单自己能看懂,好像看的难受,有没有高手有比较简单的方法,谢谢
- private void CalWeekNo()
- {
- string base_day, curr_day,base_day_of_week;
- DateTime DT_base;
- int base_day_of_year,curr_day_of_year;
- base_day = “1/1/” + dateTimePicker1.Value.Year;
- curr_day = dateTimePicker1.Value.ToString();
- DT_base = DateTime.Parse(base_day);
- base_day_of_year = DT_base.DayOfYear;
- curr_day_of_year = dateTimePicker1.Value.DayOfYear;
- base_day_of_week = DT_base.DayOfWeek.ToString();
- int day_dif;
- day_dif = curr_day_of_year – base_day_of_year;
- switch (base_day_of_week)
- {
- case “Monday”:
- weekNo_curr = day_dif / 7 + 1;
- break;
- case “Tuesday”:
- weekNo_curr = (day_dif+1) / 7 + 1;
- break;
- case “Wednesday”:
- weekNo_curr = (day_dif + 2) / 7 + 1;
- break;
- case “Thursday”:
- weekNo_curr = (day_dif + 3) / 7 + 1;
- break;
- case “Friday”:
- weekNo_curr = (day_dif + 4) / 7 + 1;
- break;
- case “Saturday”:
- weekNo_curr = (day_dif + 5) / 7 + 1;
- break;
- case “Sunday”:
- weekNo_curr = (day_dif + 6) / 7 + 1;
- break;
- }
- }
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/151178.html