2016-12-01 9 views
0

私は私のウェブページ1-日付と2-日付に2つの日付フィールドを持っています。私は最後に私が欲しいものJavaScriptまたはjQueryを使用して日付を制限する方法は?

var d1 = new Date(); 
    d1 = document.forms["From"]["fromDate"].value; 
    var d2 = new Date(); 
    d2 = document.forms["From"]["toDate"].value; 
    if ((d2 - d1) > 7) { 
     alert("Please enter valid date range"); 
     return false; 
    } 

.../wの日付Bの違いは、私は私のスクリプトを適用したが働いていない7

enter image description here

よりも大きい場合は提出の日付を制限したいです:ユーザーが日付を入力し、その差が7日を超える場合は、アラートが表示されます。 例:FROMDATE = 2016年1月1日からtoDateまで= 2016年1月10日 のToDateの場合 - (FROMDATE - FROMDATEその上の例において提出

(のToDate = 2016年1月10日)に警告を表示毎秒

3600 1000ミリ秒 - - = 2016年1月1日)= 9

+1

d1とd2の値はどのようになっていますか? – Rahul

+0

あなたがフィドルを投稿できるなら、誰かがあなたをより速く助けることができるかもしれないなら、それは素晴らしいでしょう。 –

+0

日付フィールドの値 –

答えて

0

トライ何か

 var d1 = new Date(document.forms["From"]["fromDate"].value); 
     var d2 = new Date(document.forms["From"]["toDate"].value); 
     if ((d2 - d1)/1000/3600/24 > 7) { 
      alert("Please enter valid date range"); 
      return false; 
     } 

1000年のように、すべての時間で3600

24 - ドキュメントから毎日24時間

+1

d1とd2は文字列形式にすることができます – Dherya

+0

@liusy:これも機能しません –

+0

Dheyaが正しいです。私に少し更新させてください。 – liusy182

0
var Start = moment([2016, 3, 25]); 
var End = moment([2016, 3, 27]); 
var Different = End.diff(Start, 'days') // = 2 

if(parseInt(Different) > 7){ 
    alert("Please enter valid date range"); 
    return false; 
} 

http://momentjs.com/docs/

0

日付ピッカーは、通常、MM/DD/YYYYとしてフォーマット文字列を返します。

この関数は、YYYYMMDDの整数を返します。これは、1桁の数字がある場合は日付が0で埋められているとみなします(たとえば、01ではなく1)。通常、日付ピッカーが日付ゼロを返すように設定されています。

function dateFormatYYYYMMDD(num) { 
    return parseInt(num.toString().slice(6,10) + num.toString().slice(0,2) + num.toString().slice(3,5)); 
}; 

次に、2番目の日付から最初の日付を減算します。例えばこの例では

d1 = "12/01/2016"; 
d2 = "12/07/2016"; 
diff = dateFormatYYYYMMDD(d2) - dateFormatYYYYMMDD(d1); 

diff6を保持します。

唯一のヒットは、月が異なる日に終了する可能性があるため、差分が1ヶ月以上経過した場合です。

関連する問題