2016-10-19 6 views
1

開始日と終了日の2つの日付がありますので、開始日を終了日より後にすることはできません。2つの日付を比較すると、他の日付に応じて日付が変更されます

入力を検証するためにjqueryを使用しています。そのため、開始日が終了日よりも大きいかどうかを確認して終了日を開始日のフィールドにある日付に変更します。

問題は、自動的に2番目の日付を変更するif文で比較する方法がわかりません。誰もこの問題について私にアドバイスできますか?

+0

は私達にあなたのコード – Mahi

+0

http://stackoverflow.com/questions/を表示833997/validate-that-end-date-is-than-begin-with-jquery – Mahi

+0

これをタイムスタンプに変換して比較します。 – Mdumanoj

答えて

1

コードの下に試してみてください: -

function DateCheck() 
{ 
    var StartDate= document.getElementById('txtStartDate').value; 
    var EndDate= document.getElementById('txtEndDate').value; 
    var eDate = new Date(EndDate); 
    var sDate = new Date(StartDate); 
    if(StartDate!= '' && EndDate!= '' && sDate> eDate) 
    { 
     document.getElementById('txtEndDate').val(StartDate); 
     alert("Please ensure that the End Date is greater than or equal to the Start Date."); 
     return false; 
    } 
} 
1

Dateオブジェクトとそのメソッドを見てみましたか?具体的には、getTime()メソッドをチェックアウトすることができます。

JS Dates

JS Date Formats

JS Date Methods

次のような何か:

if((new Date(dateOne).getTime() > new Date(dateTwo).getTime())) 
{ 
    // Compare and do stuff 
} 
1

物事をいじりの後、私は答えを見つけたが:)

   if ($('#id_start_0').val() > $('#id_end_0').val()){ 
        $('#id_end_0').val($('#id_start_0').val()); 
       } 
+0

$( '#id_start_0')。val()は日付ではないテキストとして扱われますが、うまくいきません。正しくテストしてください。 –

+0

@Anand_Systematixこれは私が思ったものですが、すべてが正常に動作しているようですが、開始日が終了日を超えると、終了日が開始日時に変更されます。値を比較し、誰が最高の日付であるかを見るのに問題はないようです。それは不思議です。年、月、日の両方の方法でのIvテスト。それは働いているようだ。私はそれを私の目を保つが、それを言及していただきありがとうございます。 –

1
HTH, 


var startDate= '2013-09-04'; 
var endDate = '2013-09-03'; 


     //if startDate is greater then endDate 
if((new Date(startDate).getTime() > new Date(endDate).getTime())) 
{ 
    //then replacing the endDate with startDate 
    endDate=endDate.replace(endDate,startDate); 
    alert(endDate) 
} 
+0

詳しい情報を含めるには、回答を編集してください。コードのみと「これを試してください」という回答は、検索可能なコンテンツが含まれていないため、推奨されません。 – BrokenBinary

+0

ありがとうございました:)、私はそれを行います。 – Khusboo

1

・ホープ、このことができます:

var today, someday, text; 
today = new Date(); 
someday = new Date(); 
someday.setFullYear(2100, 0, 14); 

if (someday > today) { 
    text = "Today is before January 14, 2100."; 
} else { 
    text = "Today is after January 14, 2100."; 
} 
関連する問題