平日只显示工作日

时间:2011-01-31 13:18:32

标签: javascript

我有一个输入日期选择器,它将选择当前的系统日期。点击按钮。我需要在当天添加九个商务日并将其显示为输入值, 因此,当我们添加日期时,只排除工作日 例如,  如果您有今天的日期(2011年1月31日)并且我想要添加9天,那么  答案应该是10/3/06,因为(02/03/2011)周末不应计算在内  有谁知道如何做到这一点?

2 个答案:

答案 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天”