2012-10-23 48 views
0

假設我有如下代碼:獲取的人年齡被減去日期

$('#dateNaissance').datepicker({ 
     onSelect:function(date){ 
     var today=new Date(); 
     console.log(today.getTime()); 
     console.log(new Date(date)); 
     console.log(DateDiff(today,new Date(date))); 

     $('#txtage').val(DateDiff(today,new Date(date))); 


     }   


    }); 


    function DateDiff(date1,date2) { 
     return (date1.getTime() - date2.getTime()); 
    } 
    <tr> 
     <td>Date de naissance :</td> 
     <td><input type="text" name="txtdob" class="validate[required] text-input datepicker TextInput" id="dateNaissance"/></td> 
     <td>Age :<br /><input type="text" name="txtage" class="validate[required] TextInput" id="txtage"/></td> 
    </tr> 

我需要:

當從日期選擇器的用戶選擇日期,現在它將計算自動與日期得到結果<td>Age :<br /><input type="text" name="txtage" class="validate[required] TextInput" id="txtage"/></td> ex:23 year

問題

當我跟着上面的代碼,就會有結果作爲<td>Age :<br /><input type="text" name="txtage" class="validate[required] TextInput" id="txtage"/></td>前數:1954172067。我不知道如何解決this.Anyone請幫助我,謝謝。

回答

0

我希望下面的代碼可以幫助你:

$('#dateNaissance').datepicker({ 
     onSelect:function(date){ 
     var today=new Date(); 
     console.log(today.getTime()); 
     console.log(new Date(date)); 
     console.log(DateDiff(today,new Date(date)));   
     $('#txtage').val(DateDiff(today,new Date(date)));  
     }   
}); 
    function DateDiff(date1,date2) { 
     var val = (date1.getTime() - date2.getTime()); 
     var days = Math.round(val /1000/60/60/24); 
     var years = Math.round(days /365); 
     return years; 
    } 
2

你得到的數字是兩個日期之間的秒數。你需要做的就是把它分成你需要的範圍。例如,天將days = Math.round(x/1000/60/60/24)

+1

Math.round(X/1000年至1060年/ 60/24) – mplungjan

+2

@mplungjan謝謝#*拍打頭部* #還沒有喝過我的咖啡;) –

+0

謝謝,但是如果我想獲得年份,那麼我將如何分配呢? – Sealongmaly