博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
添加工作日,排除时间段内节假日
阅读量:4688 次
发布时间:2019-06-09

本文共 1582 字,大约阅读时间需要 5 分钟。

今天在工作中遇到个问题,添加工作日后并没有排除掉周末的两天,想了一上午没想出什么好的思路,后来百度搜了搜,小改了一下。

///         /// 添加工作日        ///         /// 开始时间        /// 需要添加的工作日        /// 
public static DateTime AddWorkDays(DateTime startTime, int addDays) { DateTime endTime = startTime.AddDays(addDays); int days = CalculateWeekendDays(startTime, endTime); while (days > 0) { startTime = endTime; endTime = endTime.AddDays(days); days = CalculateWeekendDays(startTime, endTime); } return endTime; } /// /// 计算时间段内节假日的天数 /// /// 开始时间 /// 结束时间 ///
public static int CalculateWeekendDays(DateTime startTime, DateTime endTime) { int count = 0; //遍历节假日内的日期,当日期等于周六或周日时,count++ for (DateTime dateItem = startTime.AddDays(1); dateItem <= endTime; dateItem = dateItem.AddDays(1)) { if (dateItem.DayOfWeek == DayOfWeek.Saturday || dateItem.DayOfWeek == DayOfWeek.Sunday) { count++; } } return count; } static void Main(string[] args) { DateTime firstDate = DateTime.Now; int num = 10; DateTime lastTime = AddWorkDays(firstDate, num); Console.WriteLine("{0} 加上{1}个工作日后得到 {2} ",firstDate.ToString(),num,lastTime.ToString()); Console.ReadKey(); }

输出的结果为:

1278255-20171220203104100-1716652716.png

暂时还没发现什么问题,如果发现错误望指正!

转载于:https://www.cnblogs.com/leedaci/p/8075706.html

你可能感兴趣的文章
图论——读书笔记 (深度优先搜索)
查看>>
PAT(B) 1014 福尔摩斯的约会(Java)
查看>>
PAT甲级题解-1123. Is It a Complete AVL Tree (30)-AVL树+满二叉树
查看>>
项目开发总结报告(GB8567——88)
查看>>
BZOJ1930: [Shoi2003]pacman 吃豆豆
查看>>
SSH加固
查看>>
端口扫描base
查看>>
iOS IM开发的一些开源、框架和教程等资料
查看>>
FansUnion:共同写博客计划终究还是“流产”了
查看>>
python 二维字典
查看>>
编译原理实验一
查看>>
Git for Android Studio 学习笔记
查看>>
pip 警告!The default format will switch to columns in the future
查看>>
Arrays类学习笔记
查看>>
实验吧之【天下武功唯快不破】
查看>>
2019-3-25多线程的同步与互斥(互斥锁、条件变量、读写锁、自旋锁、信号量)...
查看>>
win7-64 mysql的安装
查看>>
dcm4chee 修改默认(0002,0013) ImplementationVersionName
查看>>
maven3在eclipse3.4.2中创建java web项目
查看>>
发布时间 sql语句
查看>>