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>ex:の数値として結果が得られ1954172067ます。これを修正する方法がわかりません。誰か助けてください、ありがとう。

4

2 に答える 2

2

取得しているその数値は、2 つの日付の間の秒数です。必要な範囲に分割するだけです。たとえば、日は次のようになります。days = Math.round(x / 1000 / 60 / 60 / 24)

于 2012-10-23T08:04:32.117 に答える
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;
    }
于 2012-10-23T08:21:02.760 に答える