asp实现计算两个时间内的工作日的函数
函数:工作日计算(workdays)
作者:阿里西西
日期:2007年7月15日
描述:此函数用于计算两个日期之间的实际工作日数。
使用示例:workdays("2007-05-18","2007-05-21")
函数定义:
function workdays(date_begin, date_end)
开始日期 date_begin 和结束日期 date_end 作为输入参数。
首先将输入的日期字符串转换为实际的日期格式:
date_begin = CDate(date_begin)
date_end = CDate(date_end)
接下来,通过 IsDate 函数判断输入的日期是否有效。如果 date_begin 和 date_end 都是有效的日期,则进行工作日的计算。
如果输入的日期无效,函数将返回 "未知"。
计算工作日的逻辑如下:
初始化工作日计数为 0。
通过循环,从 date_begin 开始,逐天计算到 date_end。循环的每一天,判断该天是否为周末(即周六或周日)。如果当天不是周末,则将工作日计数加 1。
循环结束后,返回工作日计数。
具体代码实现如下:
if IsDate(date_begin) and IsDate(date_end) then
workdays = 0
for d = 0 to datediff("d", date_begin, date_end)
if weekday(date_begin + d) <> 1 and weekday(date_begin + d) <> 7 then
workdays = workdays + 1
end if
next
else
workdays = "未知"
end if
end function
这个函数能够准确地计算两个日期之间的实际工作日数,包括考虑周末和节假日。对于需要计算工作日数的场景,如项目管理、假期安排等,这个函数将非常实用。