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

你得到的数字是两个日期之间的秒数。您需要做的就是将其划分为您需要的范围。例如,天将是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 回答