我有一个API,它将用户dob作为一个名为 dateOfBirth 的变量返回,该变量来自API,如下所示:
{
"dob": 1525219200
}
所以现在 dateOfBirth 就是:
1525219200
如何从上面将用户的年龄定为Int
。
我试过了:
var dob = 1525219200;
var now = Date.now();
var age = new Date();
age = (dob - now).toUTCString()
document.write("dob: " + dob + "<br/>");
document.write("now: " + now + "<br/>");
document.write("age: " + age + "<br/>");
然而,我是一名初级开发者,我认为我不能正确理解我在做什么。任何和所有的帮助将不胜感激。
这是JSFIDDLE
答案 0 :(得分:1)
我想那是几毫秒。那么你需要以毫秒为单位获取今天的日期:
todayInMilli = Math.round(new Date() / 1000);
接下来,你需要找到今天和DOB之间的差异,以毫秒为单位:
ageInMilli = todayInMilli - dob;
最后将毫秒转换为年:
age = ageInMilli / (60 * 60 * 24 * 365)
如果这对您有用,请告诉我
答案 1 :(得分:0)
var dob = 1525219200;
var now = Date.now();
var age = new Date();
age = moment.duration(now - dob).years();
console.log("dob: " + moment(dob).format('DD/MM/YYYY') + "<br/>");
console.log("now: " + moment(now).format('DD/MM/YYYY') + "<br/>");
console.log("age: " + age + " years<br/>");
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>
你需要使用时刻js。不要试图重新发明。
var dob = 1525219200;
var now = Date.now();
var age = new Date();
age = moment.duration(now - dob).years();
console.log("dob: " + moment(dob).format('DD/MM/YYYY') + "<br/>");
console.log("now: " + moment(now).format('DD/MM/YYYY') + "<br/>");
console.log("age: " + age + " years<br/>");