我需要弹出一个对话框,以显示输入值的年份和月份。我已经尝试了几种方法,但它仍然无法解决。我得到NaN作为答案。有人可以帮帮我吗?
我的HTML:
<label for="dob">Child’s Date of birth</label>
<input class="form-control" type="date" name"dob" placeholder="Date of birth" id="dob" onblur"dateofBirth()"/>
和Javascript:
function dateofBirth{
var dofBirth = document.getElementById("dob").value;
var age = (new Date() - dofBirth) / (1000 * 60 * 60 * 24*365);
alert("The child's age is "+ age);
}
答案 0 :(得分:0)
我猜测输入后dofBirth是String类型。您需要将其转换为日期作为日期。
var age = (new Date - new Date(dofBirth))
希望有所帮助!
答案 1 :(得分:0)
首先,日期输入法尚未得到广泛支持,但是,chrome给了我&#34; 2014-11-05&#34;正如JS将获得的价值。
因此,你可以使用badrequest400的方法,但似乎有一个时区调整。所以我建议像:
var tempStr = doBirth.split("-");
var age = (new Date() - new Date(tempStr[0], tempStr[1] - 1, tempStr[2])); // Plus your other calculations.
因为月份从0到11,所以减去一个是必要的。