首页 新闻 会员 周边 捐助

C#时间操作问题。如何获取某年某月的最后一个工作日?

0
[已解决问题] 解决于 2018-06-15 15:43

获取某年某月的最后一个工作日,用c#代码怎么写?

斌言的主页 斌言 | 初学一级 | 园豆:191
提问于:2017-04-12 19:58
< >
分享
最佳答案
0

这个百度上很多啊,随便搜搜都有

奖励园豆:5
君宁天下 | 菜鸟二级 |园豆:211 | 2017-04-13 08:16
其他回答(5)
1
 1         public DateTime GetLastWeekDay(int year, int month)
 2         {
 3             for (int i = 1; i < 7; i++)
 4             {
 5                 DateTime dtt = (new DateTime(year, month, 1)).AddMonths(1).AddDays(-i);
 6                 if (dtt.DayOfWeek == DayOfWeek.Saturday || dtt.DayOfWeek == DayOfWeek.Sunday)
 7                 {
 8                     continue;
 9                 } else
10                 {
11                     return dtt;
12                 }
13             }
14             throw new Exception("这个异常不会出现");
15         }

 


其中,year,month用你所说有某年某月将其替换,即可得到你想要的那个月的最后一个工作日

ensleep | 园豆:1682 (小虾三级) | 2017-04-13 09:02
0

要考虑周六,周日,还有公众假期。

你把这几个情况考虑进去就行了。

爱编程的大叔 | 园豆:30844 (高人七级) | 2017-04-13 12:02
0

1、维护一个节假日的列表。

2、遍历该月,取最后一个星期五。

3、遍历该月的节假日判断这个星期五是不是在里头,在里头往前推一天。

chengeng | 园豆:294 (菜鸟二级) | 2017-04-13 17:15
0

不考虑节假日的话,2楼的答案就可以了;如果考虑节假日,首先你得有节假日数据

jmlsaul | 园豆:247 (菜鸟二级) | 2017-08-31 10:08
0

var lastDay =new Date(xxxx,xx+1,xx).AddDay(-1);

while(lastday.DayOfWeek >5){

lastDay=lastDay.AddDay(-1);

}

舟翅桐 | 园豆:675 (小虾三级) | 2018-06-15 17:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册