2011-01-31 13 views
0

私は現在のシステム日付を選択する入力日付ピッカーを持っています。ボタンのonclick。現在の日に9つの営業日を追加し、それを入力値 に表示する必要がありますので、日数を追加すると平日のみが除外されます。
たとえば、 今日の日付(2011年1月31日)があり、9日を追加する場合は、 の回答は10/3/06にする必要があります(2011年3月3日) 。
これはどのように行うことができますか?あなたがクレートに必要なこのため平日のみ平日を表示する

+0

を前提としていウィル休日s(例えば、クリスマスまたはイースター)も除外されますか?はいの場合、あなたは、いくつかのオンラインソースからそのデータを取得するか、それを自分で提供する必要があります... –

答えて

0

1 SQL関数は次のように:

として ビット を返す関数fn_IsWeekDay ( @date日時 )を作成し、エンド

ショート

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 

開始しますそして、甘いです。今すぐこれを行うことができます:

if dbo.fn_IsWeekDay(@日付)= 1 begin - ここでいくつかの魔法;あなたはおそらく、より高度な何かが必要ですが、あなただけの土曜日と日曜日を破棄することをあなたはこのような何か(ただ、基本的な計算、希望を行うことができますと仮定します エンド

、-OR

実装される機能

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> 

EDIT:これは "ウォーキングの日" 月、火、水、木、金

+0

その働きはどのように働いているか私に教えてください – vijay

+0

働く原則は非常に簡単です。 dayOfWeekは、0〜6の範囲の整数で、今日の日(0 =日曜日)を示します。日曜日または月曜日の場合は、11営業日を追加して9営業日を追加する必要があります。土曜日に12日を追加する必要がある場合は、13日を追加する必要があります。あなたが紙を取って理由を理解しようとすると、すぐにそれを理解するでしょう – Danilo

+0

はい、私はそれに多くの感謝を得ました – vijay