C#中 DateTime加(减)工作日

编程入门 行业动态 更新时间:2024-10-24 10:21:53

C#中 DateTime加(减)<a href=https://www.elefans.com/category/jswz/34/1767907.html style=工作日"/>

C#中 DateTime加(减)工作日

 前几天工作上有安排一个发邮件功能的任务

涉及到查询当天前几个工作日的采购任务

private void timer_Elapsed(object sender, ElapsedEventArgs e){DateTime dtEnd= DateTime.Parse("2019-10-28");AddWorkDays(dtEnd, 3);//三个工作日//测试if (DateTime.Now.ToString("HH:mm") == "18:00"){//DateTime dtEnd = DateTime.Parse("2019-10-28");AddWorkDays(DateTime.Now, 3);//三个工作日}}

 上面是发邮件设定的时间

下面是计算工作日的方法

        /// <summary>/// DateTime 减几个工作日(不包括周未)/// </summary>/// <param name="dt">指定时间</param>/// <param name="addDays">需要加减天数</param>/// <returns></returns>public DateTime AddWorkDays(DateTime dt, int addDays){DateTime dtStart = dt;DateTime dtEnd = dtStart.AddDays(-addDays);//我这做的是指定几个工作日前的时间int days = CalculateWeekendDays(dtStart, dtEnd);while (days > 0){dtStart = dtEnd;dtEnd = dtEnd.AddDays(-days);days = CalculateWeekendDays(dtStart, dtEnd);}SelectUserDiff(dtEnd);//我发邮件的方法以及格式return dtEnd;}/// <summary>/// CalculateWeekendDays/// </summary>/// <param name="dtStart">开始时间</param>/// <param name="dtEnd">结束时间</param>/// <returns></returns>public int CalculateWeekendDays(DateTime dtStart, DateTime dtEnd){int count = 0;for (DateTime dtTemp = dtStart; dtTemp > dtEnd; dtTemp = dtTemp.AddDays(-1)){if (dtTemp.DayOfWeek == DayOfWeek.Saturday || dtTemp.DayOfWeek == DayOfWeek.Sunday){count++;}}return count;}

如果不涉及到工作日会好处理很多,例如前一天的日子

DateTime yesterday = DateTime.Now.AddDays(-1);

后一天的日子

DateTime tomorrow= DateTime.Now.AddDays(1);

 

更多推荐

C#中 DateTime加(减)工作日

本文发布于:2024-03-06 02:04:52,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1714068.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:工作日   DateTime

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!