计算有效工作日(跳过节假日)
来源:互联网 发布:vb net从入门到精通 编辑:程序博客网 时间:2024/06/07 01:11
在实际开发过程中,我们很多时候会遇到节假日处理的问题。由于前段时间工作需要,所以通过各种平台搜集资料,整理出下面的代码。
备注:主要是给定一个初始日期,然后给定一个时间范围,要求自动跳过节假日以及双休日,最后返回一个工作日的日期,具体代码如下:
/// <summary>
/// 根据指定日期,计算出给定时间间隔的下一个工作日的日期
/// </summary>
/// <param name="dt">给定的日期</param>
/// <param name="n">时间间隔</param>
/// <returns>下一个工作日的日期</returns>
private static DateTime ResultDateTime(DateTime dt, int n)
{
DateTime temp = dt;
int count = 0;
if (temp != null)
{
do
{
temp = temp.AddDays(1);
string strTempDate = temp.ToString().Split(' ')[0];
string[] st = strTempDate.Split('/');
string y = st[0];
string m = "";
string d = "";
if (st[1].Length == 1)
{
m = "0" + st[1];
}
else
{
m = st[1];
}
if (st[2].Length == 1)
{
d = "0" + st[2];
}
else
{
d = st[2];
}
string s = y + m + d;
// 节假日API http://www.easybots.cn/
string strUrl = "http://www.easybots.cn/api/holiday.php?d=" + s;
Uri uri = new Uri(strUrl);
WebRequest req = WebRequest.Create(uri);
WebResponse resp = req.GetResponse();
StreamReader reader = new StreamReader(resp.GetResponseStream(), Encoding.ASCII);
string strTemp = reader.ReadToEnd();
strTemp = strTemp.Split(':')[1];
// 1 为休息日,2 为节假日
if (strTemp.Contains('0'))
{
count++;
}
} while (count != n);
}
else
{
return Convert.ToDateTime("0000/1/1");
}
return temp;
}
- 计算有效工作日(跳过节假日)
- 计算有效工作日(跳过节假日)
- 工作日计算(含节假日)
- 计算两个日期之间的工作日(去掉周末和节假日)
- 计算两个日期之间的工作日(去掉周末和节假日)
- java计算两个日期之前的天数(工作日),排除节假日和周末
- sql如何计算两个日期间的工作日,剔除节假日
- 节假日配置、工作日配置
- excel工作量清单计算开始、结束时间,自动跳过节假日
- 请假功能中计算有效工作日
- java工作日和节假日判断
- java工作日和节假日判断
- 根据时间段计算工作日的天数(SqlServer),包含节假日的处理
- oracle计算一个日期加上指定工作日(排除周六周日和一系列节假日)时间
- 计算2个时间之间的工作日天数 是否假日表t_sys_holiday 节假日可以自己配置
- oracle计算一个日期加上指定工作日(排除周六周日和一系列节假日)时间
- 工作日计算
- 工作日计算
- 多线程方面问题
- Linux之 网卡发包、接包 error 、droped 情况
- JavaScript笔记(jjj)
- FTP命令
- File常用API总结
- 计算有效工作日(跳过节假日)
- 立方体的体积
- 系统目录
- java-IO常用集合API
- java对象池commons-pool-1.6详解(二)
- 软件测试知识点
- 二叉树从根节点到叶子节点路径 C语言
- 巧用a标签解析url
- 3D引擎数据结构与glTF(2): Scene Graph