Javascript 我只想用DOB来计算年龄
我从jsonJavascript 我只想用DOB来计算年龄,javascript,json,Javascript,Json,我从jsonvar date=data.DOB获取DOB使用此` var today = new Date(86400000); var date=data.dob; var timeDiff = Math.abs(today - date); rangeOneMin1 = parseInt(timeDiff); var age1 = Math.ceil(rangeOneMin1 / (1000 * 3600 * 24)) / 365; 通过在age1中应用上述代码,我
var date=data.DOB获取DOB代码>使用此`
var today = new Date(86400000);
var date=data.dob;
var timeDiff = Math.abs(today - date);
rangeOneMin1 = parseInt(timeDiff);
var age1 = Math.ceil(rangeOneMin1 / (1000 * 3600 * 24)) / 365;
通过在age1中应用上述代码,我得到了NaN。请帮助。如果您需要更多信息,请告诉我。首先,var today=新日期(86400000)代码>不是今天,而是很久以前了。口译员甚至不用计算这个日期,所以它是可能的最小日期:
Fri Jan 02 1970 01:00:00 GMT+0100 (CET)
要获得今天的日期对象,只需构造不带参数的date
。然后还需要为dob
字符串日期创建新的Date
对象
还有一件事,您不需要parseInt
,因为在算术-
操作期间,由于隐式类型转换为数字,两个Date
对象之间的差异将是整数值
最后,您可能还想将/375
放在Math.ceil
下
结果将如下所示:
var today = new Date();
var date = new Date(data.dob);
var timeDiff = Math.abs(today - date);
var age1 = Math.ceil(timeDiff / (1000 * 3600 * 24) / 365);
首先,var今日=新日期(86400000)代码>不是今天,而是很久以前了。口译员甚至不用计算这个日期,所以它是可能的最小日期:
Fri Jan 02 1970 01:00:00 GMT+0100 (CET)
要获得今天的日期对象,只需构造不带参数的date
。然后还需要为dob
字符串日期创建新的Date
对象
还有一件事,您不需要parseInt
,因为在算术-
操作期间,由于隐式类型转换为数字,两个Date
对象之间的差异将是整数值
最后,您可能还想将/375
放在Math.ceil
下
结果将如下所示:
var today = new Date();
var date = new Date(data.dob);
var timeDiff = Math.abs(today - date);
var age1 = Math.ceil(timeDiff / (1000 * 3600 * 24) / 365);
考虑到您使用var date=data.dob
获取的日期,这是一个字符串,格式为'08/25/1990'
,您可以执行以下操作来获取年龄
var difMS = Date.now() - (new Date(date).getTime()); //Difference in milliseconds from dob to current date
var refDate = new Date(difMS); //Reference date
console.log(Math.abs(refDate.getUTCFullYear() - 1970)); //years passed till 1970
考虑到您使用var date=data.dob
获得的日期,这是一个字符串,格式为'08/25/1990'
,您可以执行以下操作来获得年龄
var difMS = Date.now() - (new Date(date).getTime()); //Difference in milliseconds from dob to current date
var refDate = new Date(difMS); //Reference date
console.log(Math.abs(refDate.getUTCFullYear() - 1970)); //years passed till 1970
Javascript中不允许直接日期差异,因此您将获得NaN
相反,使用时间来获取日期差异,而不是将其转换为一年
请查找以下相同的函数
function GetAge() {
var one_year=(1000*60*60*24);
var birthDate = new Date(2010,01,01)
var today = new Date();
var todayTime = today.getTime();
var birthDateTime=birthDate.getTime();
var difference_ms = todayTime-birthDateTime;
return Math.round((difference_ms/one_year)/365);
}
Javascript中不允许直接日期差异,因此您将获得NaN
相反,使用时间来获取日期差异,而不是将其转换为一年
请查找以下相同的函数
function GetAge() {
var one_year=(1000*60*60*24);
var birthDate = new Date(2010,01,01)
var today = new Date();
var todayTime = today.getTime();
var birthDateTime=birthDate.getTime();
var difference_ms = todayTime-birthDateTime;
return Math.round((difference_ms/one_year)/365);
}
嘿,如果您想计算年、月和日的确切差异,那么以下内容将帮助您:
var today = new Date();
var date = new Date('07/04/1985');
var year=today.getFullYear()-date.getFullYear();
var month = today.getMonth() - date.getMonth();
if (month < 0 || (month === 0 && today.getDate() < date.getDate())) {
year--;
month=month+12;
}
var days = today.getDate() - date.getDate();
if (days < 0 || (days === 0 && today.getDate() < date.getDate())) {
month--;
days=days+30;
}
alert(year+"---"+month+"---"+days)
var today=新日期();
var日期=新日期('07/04/1985');
var year=today.getFullYear()-date.getFullYear();
var month=today.getMonth()-date.getMonth();
如果(月<0 | |(月==0&&today.getDate()
你需要更多的代码来计算天数,因为我以30天为标准,有些月份有31天或29天,所以你需要检查闰年和一个月内的31天,你会得到一个确切的日期差
谢谢嘿,如果您想计算年、月、日的精确差值,那么以下内容将帮助您:
var today = new Date();
var date = new Date('07/04/1985');
var year=today.getFullYear()-date.getFullYear();
var month = today.getMonth() - date.getMonth();
if (month < 0 || (month === 0 && today.getDate() < date.getDate())) {
year--;
month=month+12;
}
var days = today.getDate() - date.getDate();
if (days < 0 || (days === 0 && today.getDate() < date.getDate())) {
month--;
days=days+30;
}
alert(year+"---"+month+"---"+days)
var today=新日期();
var日期=新日期('07/04/1985');
var year=today.getFullYear()-date.getFullYear();
var month=today.getMonth()-date.getMonth();
如果(月<0 | |(月==0&&today.getDate()
你需要更多的代码来计算天数,因为我以30天为标准,有些月份有31天或29天,所以你需要检查闰年和一个月内的31天,你会得到一个确切的日期差
谢谢数据。dob
以毫秒为单位?从我得到的JSON日期开始,就像2015年1月21日使用日期=新日期(data.dob)data.dob
以毫秒为单位?从我得到的JSON日期开始,就像2015年1月21日使用日期=新日期(data.dob);很高兴这有帮助……)很高兴这有帮助……)var一年实际上是一天。var一年实际上是一天。