2017-05-12 21 views
0

現在の日付、現在の日付とユーザーが選択した日付よりも大きければ、ユーザが選択した日付が私は2つの日付を比較しています。ユーザーが選択した日付が、私は2つの日付を比較したい

ここに現在の日付よりも大きくされている場合、私は、私は、エラーMSG経由するエラーMSGてほしいです私のコード私はしようとしているが、エラーメッセージを取得することはできません。私はあなたが現在の日付かどうかを確認したいと仮定し、あなたの関数の名前が

HTML

コントローラ

$scope.age18Checking = function() { 
     var userDate = new Date($scope.dateOfBirth); 

      var year = userDate.getFullYear(); 
      var month = userDate.getMonth() + 1; 
      var day = userDate.getDate(); 


     var userFullDate = new Date(year + "-" + month + "-" + day); 
     console.log("........User Date",userFullDate); 

     var systemDate = new Date(); 
      console.log(".....systemDate",systemDate); 

     if(systemDate.getTime() -18 > userFullDate.getTime()) { 

      console.log("Is greater") 

     } 
    } 

おかげで、 Zameer

+0

あなたはhtmlコード – geo

+0

問題が何であるかを追加していませんか? –

+0

こんにちはアガム、私は、ユーザーに選択された日付が現在の日付よりも大きい場合、エラーメッセージを表示します。 – Zameer

答えて

1

を - 18歳のユーザーの誕生日よりも大きいのですか? 私はこの問題は、あなたが18時間ではなく現時点から18ミリ秒かかるだけであることをgetTime() - 18が行っていると言います。

はこれを試してみてください:

$scope.age18Checking = function() { 
    var userDate = new Date($scope.dateOfBirth); 

     var year = userDate.getFullYear(); 
     var month = userDate.getMonth() + 1; 
     var day = userDate.getDate(); 


    var userFullDate = new Date(year + "-" + month + "-" + day); 
    console.log("........User Date",userFullDate); 

    var systemDate = new Date(); 
    systemDate.setFullYear(systemDate.getFullYear() - 18) 
     console.log(".....systemDate",systemDate); 

    if(systemDate.getTime() > userFullDate.getTime()) { 

     console.log("Is greater") 

    } 
} 
+0

年齢をチェックしていません。ユーザーが選択した日付と現在の日付の2つの日付を比較しています。現在の日付、このscenorio私はエラーmsgをしたい。 – Zameer

0

Moment JSライブラリを見て、JavaScriptでDateを処理するために広く使用されている、とだけ16.6kbです。あなたも時間をカウントしている場合

$scope.checkIncorrectDateSelected = function(){ 
    var userDate = new Date($scope.dateOfBirth); 
    var now = moment(); 
    var userMoment = moment(userDate); 
    if(now.diff(userMoment, "days", true) < 0){ //Will be true if user > now 
    alert("Picked wrong date!"); 
    } 
} 

、あなたは完全に確認する"seconds""days"を変更する必要があります。あなたが年齢を計算している場合は

1

、これはあなたに役立つはずです

$scope.age18Checking = function() { 
var userDate = new Date($scope.dateOfBirth); 

var year = userDate.getFullYear(); 
var month = userDate.getMonth(); 
var day = userDate.getDate(); 

var userFullDate = new Date(year,month,day); 
console.log("........User Date",userFullDate); 

var systemDate = new Date(); 
console.log(".....systemDate",systemDate); 

if(systemDate.getTime() < userFullDate.getTime()) { 

    console.log("Date of Birth cannot be greater than current Date"); 
    return false; 
} 
var age= userFullDate.getFullYear() - systemDate.getFullYear(); 
var m= systemDate.getMonth() - userFullDate.getMonth(); 
if (m < 0 || (m === 0 && systemDate.getDate() < userFullDate.getDate())) { 
    age--; 
} 
console.log("Current Age : "+age); 
if(age>=18) 
{ 
    console.log("Age is greater than or equal to 18"); 
    return true; 
}else 
{ 
    console.log("Age is less than 18"); 
    return false; 
} 

} 
関連する問題