c# 时间段内日期统计
设定时间值比如:早上9:00到晚上6:59:59点为白班,晚上7点到第二天早上8:59:59为晚班现在需求是给定个时间段,分别统计出白班和晚班实际时长。比如:2017/1...
设定时间值比如:早上9:00到晚上6:59:59点为白班,晚上7点到第二天早上8:59:59为晚班
现在需求是给定个时间段,分别统计出白班和晚班实际时长。
比如:2017/12/21 10:29:20 -- 2017/12/23 22:30:20 时间段 展开
现在需求是给定个时间段,分别统计出白班和晚班实际时长。
比如:2017/12/21 10:29:20 -- 2017/12/23 22:30:20 时间段 展开
2017-12-22
展开全部
/// 统计一段时间内有多少个星期几
3 ///</summary>
4 ///<param name= "AStart "> 开始日期 </param>
5 ///<param name= "AEnd "> 结束日期 </param>
6 ///<param name= "AWeek "> 星期几 </param>
7 ///<returns> 返回个数 </returns>
8 public int TotalWeeks(DateTime AStart, DateTime AEnd, DayOfWeek AWeek)
9 {
10 TimeSpan vTimeSpan = new TimeSpan(AEnd.Ticks - AStart.Ticks);
11 int Result = (int)vTimeSpan.TotalDays / 7;
12 for (int i = 0; i <= vTimeSpan.TotalDays % 7; i++)
13 if (AStart.AddDays(i).DayOfWeek == AWeek)
14 return Result + 1;
15 return Result;
16 } /* TotalWeeks */
17
3 ///</summary>
4 ///<param name= "AStart "> 开始日期 </param>
5 ///<param name= "AEnd "> 结束日期 </param>
6 ///<param name= "AWeek "> 星期几 </param>
7 ///<returns> 返回个数 </returns>
8 public int TotalWeeks(DateTime AStart, DateTime AEnd, DayOfWeek AWeek)
9 {
10 TimeSpan vTimeSpan = new TimeSpan(AEnd.Ticks - AStart.Ticks);
11 int Result = (int)vTimeSpan.TotalDays / 7;
12 for (int i = 0; i <= vTimeSpan.TotalDays % 7; i++)
13 if (AStart.AddDays(i).DayOfWeek == AWeek)
14 return Result + 1;
15 return Result;
16 } /* TotalWeeks */
17
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询