计算指定几个工作日后的时间(1个工作日按24小时计算)

 比如,我要获取5个工作日后的时间,将day设为5就可以啦GetWorkDay(5);

 1 private DateTime GetWorkDay(int day)
 2     {
 3         DateTime now = DateTime.Now;
 4         string diffTime;
 5         if ((int)now.DayOfWeek == 0 || (int)now.DayOfWeek == 6)
 6         {
 7             diffTime = "23:59:59";
 8         }
 9         else
10         {
11             DateTime today = Convert.ToDateTime(now.Year + "/" + now.Month + "/" + now.Day + " 23:59:59");
12             int hour = today.Hour - now.Hour;
13             int minute = today.Minute - now.Minute;
14             int second = today.Second - now.Second;
15 
16             diffTime = hour + ":" + minute + ":" + second;
17         }
18 
19         DateTime endDay = now;
20         int t = 0;
21         for (int i = 0; i < day; i++)
22         {
23             t++;
24             int dayOfWeek = (int)now.AddDays(t).DayOfWeek;
25             switch (dayOfWeek)
26             {
27                 case 1:
28                 case 2:
29                 case 3:
30                 case 4:
31                 case 5:
32                     endDay = now.AddDays(t);
33                     break;
34                 default:
35                     i--;
36                     break;
37             }
38         }
39         return Convert.ToDateTime(endDay.Year + "-" + endDay.Month + "-" + endDay.Day + " " + diffTime);
40     }

 

posted @ 2022-08-11 09:26  leenAY  阅读(89)  评论(0)    收藏  举报