假设我有以下代码:
$('#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>
例如:23 year
中获得结果。
问题
当我按照上面的代码进行操作时,它会将结果显示为<td>Age :<br /><input type="text" name="txtage" class="validate[required] TextInput" id="txtage"/></td>
ex:1954172067
中的数字。我不知道如何修复此问题。任何人都请帮助我,谢谢。
答案 0 :(得分:2)
你得到的这个数字是两个日期之间的秒数。您需要做的就是将其划分为您需要的范围。例如,天数为days = Math.round(x / 1000 / 60 / 60 / 24)
答案 1 :(得分: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;
}