我有一个输入日期选择器,它将选择当前的系统日期。点击按钮。我需要在当天添加九个商务日并将其显示为输入值, 因此,当我们添加日期时,只排除工作日 例如, 如果您有今天的日期(2011年1月31日)并且我想要添加9天,那么 答案应该是10/3/06,因为(02/03/2011)周末不应计算在内 有谁知道如何做到这一点?
答案 0 :(得分:0)
为此你需要创建一个sql函数,如:
创建函数fn_IsWeekDay ( @date datetime ) 返回位 如 开始
declare @dtfirst int
declare @dtweek int
declare @iswkday bit
set @dtfirst = @@datefirst - 1
set @dtweek = datepart(weekday, @date) - 1
if (@dtfirst + @dtweek) % 7 not in (5, 6)
set @iswkday = 1 --business day
else
set @iswkday = 0 --weekend
return @iswkday
端
短而甜蜜。现在你可以这样做:
如果dbo.fn_IsWeekDay(@date)= 1 开始 - 这里有一些魔力; 结束
- 或
实施功能
答案 1 :(得分:0)
你可能需要一些更高级的东西,但假设你只想丢弃周六和周日,你可以做这样的事情(只是基本计算,希望我没算错):
<script>
today = new Date();
endDate=today; //Init.
alert(today);
dayOfWeek=today.getDay();
//0: Sunday
if(dayOfWeek==0 || dayOfWeek==1)endDate.setDate(today.getDate() + 11);
else if(dayOfWeek==6)endDate.setDate(today.getDate() + 12);
else endDate.setDate(today.getDate() + 13);
alert(endDate);
</script>
编辑:这假设“周日,周三,周三,周四,周五”的“woking天”