[英]javascript age calculator keep giving wrong numbers,
我正在尝试编写一个javascript程序并计算使用年龄,我已经完成了以下代码,
function submitForm() {
var d = new Date();
var year = d.getFullYear();
var month = d.getMonth();
var days = d.getDay();
var minutes = d.getMinutes();
var hours = d.getHours();
var byear = document.dataform.year.selectedIndex;
var bmonth = document.dataform.month.selectedIndex;
var bday = document.dataform.day.selectedIndex;
var bhours = bday * 24;
var bmin = 60 * b hours;
var dyears = year - byear;
var dmonth = month - bmonth;
var ddays = (days - bday);
var dhours = hours - bhours;
var dminutes = minutes - bmin;
var daysTillBDay = 365 - bday;
if (isLeapYear() == true) {
dyears = year - byear;
dmonth = month - bmonth;
ddays = (days - bday) + 1;
dhours = hours - bhours;
dminutes = minutes - bmin;
daysTillBDay = 365 - bday;
}
var el = document.getElementsByName('uyears');
el[0].value = dyears + " years old.";
el = document.getElementsByName('umonths');
el[0].value = dmonth + " months old.";
document.getElementsByName('udays')[0].value = ddays;
document.getElementsByName('lmonths')[0].value = dmonth;
document.getElementsByName('ldays')[0].value = ddays;
document.getElementsByName('lhrs')[0].value = dhours;
document.getElementsByName('lmin')[0].value = dminutes;
document.getElementsByName('bdays')[0].value = daysTillBDay + " days left till your birthday.";
}
我想我会在尝试运行该程序之前工作,在运行该程序之后,我发现该程序几乎给了我所有错误,我的年份像2013年(最新年份),而我将等于如果输入11,则为负数,例如-1。我只是尝试查找用户的年龄,我认为这是今天(今天的登机口)-(生日日期)的日期,但是现在不起作用,任何人都知道>>?
问题非常简单(这是我自己犯的一个错误new Date().getDay()
返回星期几(星期一为0,星期日为6),而不是月份中的一天。
您要查找的函数是new Date().getDate()
,它在1月1日返回1,在圣诞节返回25,依此类推。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.