2017-04-07 16 views
0

私は次のスクリプトを使用して、週末を除いて将来の日付を見ることができます。私が遭遇した問題は、今日の金曜日が金曜日で、私は土曜日と日曜日を就業日としてカウントする3日に将来の日付を設定します。私は本当にあなたのうちの1人が私がJavascriptでそれほど素晴らしい人ではないので助けてくれることを願っています。将来の日付の計算機

正しい例:今日=金曜日の場合、今から3営業日後は水曜日(月曜日ではなく、スクリプトが現在計算しています)です。

アイデア?

  var myDelayInDays = 3; 
      myDate=new Date(); 
      myDate.setDate(myDate.getDate()+myDelayInDays); 

      if(myDate.getDay() == 0){//Sunday 
      myDate.setDate(myDate.getDate() + 2);//Tuesday 
      } else if(myDate.getDay() == 6){//Saturday 
      myDate.setDate(myDate.getDate() + 2);//Monday 
      } 

      document.write('' + myDate.toLocaleDateString('en-GB')); 

助けが本当に素晴らしいです。 おかげで

+0

チェックするとmyDate.getDay()== 5をスキップするために使用され、その後2 +を追加土曜日と土曜日をスキップするための2つ。 –

+0

あなたはミリ秒で作業するか、ライブラリをmoment.jsとして使用することができます –

+0

@VinodLouis金曜日の将来のランデスの場合にのみ動作すると思います。先に進む前に金曜日に今日を計算する必要があります(それが理にかなっていれば)。例:今日は金曜日、+ 3日は水曜日(月曜日ではなく)を表示する必要があります。 –

答えて

1

追加する日付と曜日を変更することで、このコードを試してみてください、カスタムループは土曜と日曜

function addDates(startDate,noOfDaysToAdd){ 
 
    var count = 0; 
 
    while(count < noOfDaysToAdd){ 
 
    endDate = new Date(startDate.setDate(startDate.getDate() + 1)); 
 
    if(endDate.getDay() != 0 && endDate.getDay() != 6){ 
 
     //Date.getDay() gives weekday starting from 0(Sunday) to 6(Saturday) 
 
     count++; 
 
    } 
 
    } 
 
    return startDate; 
 
} 
 

 

 
var today = new Date(); 
 
var daysToAdd = 3; 
 
alert(addDates(today,daysToAdd));

+0

これは完璧です!ただし、結果を次のように表示する方法はありますか?dd/mm/yyyy? (en-GB) –

+0

これを行うには多くの方法がありますhttp://stackoverflow.com/questions/13459866/javascript-change-date-into-format-of-dd-mm-yyyy –

+0

私は本当にありませんこれで良い:(私は方法を知らない –

関連する問題