Javascript 从API返回的时间戳获取用户年龄
我有一个API,它将用户dob作为变量返回,名为dateOfBirth,它来自API,如下所示:Javascript 从API返回的时间戳获取用户年龄,javascript,date,Javascript,Date,我有一个API,它将用户dob作为变量返回,名为dateOfBirth,它来自API,如下所示: { "dob": 1525219200 } 所以现在出生日期是: 1525219200 如何从上面的Int中获取用户年龄 我试过: var dob = 1525219200; var now = Date.now(); var age = new Date(); age = (dob - now).toUTCString() document.write("dob: " + dob +
{
"dob": 1525219200
}
所以现在出生日期是:
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/>");
var-dob=1525219200;
var now=Date.now();
变量年龄=新日期();
年龄=(dob-now).toutString()
文件。书写(“dob:+dob+”
);
文件。写入(“现在:+现在+”
);
文件。写入(“年龄:“+age+”
);
然而,我是一名初级开发人员,我认为我没有正确理解我在做什么。我们将非常感谢您的任何帮助
这是一个我想那是毫秒。然后需要以毫秒为单位获取今天的日期:
todayInMilli = Math.round(new Date() / 1000);
ageInMilli = todayInMilli - dob;
接下来,您需要以毫秒为单位找出今天和DOB之间的差异:
todayInMilli = Math.round(new Date() / 1000);
ageInMilli = todayInMilli - dob;
最后将毫秒转换为年:
age = ageInMilli / (60 * 60 * 24 * 365)
请让我知道这是否对你有效
var-dob=1525219200;
var now=Date.now();
变量年龄=新日期();
年龄=时刻。持续时间(现在-出生日期)。年();
console.log(“dob:+moment(dob).format('DD/MM/YYYY')+”
);
console.log(“现在:+时刻(现在).格式('DD/MM/YYYY')+”
);
console.log(“年龄:+age+”年
)代码>
对于年龄,您不需要指定为日期,然后重新指定。尝试age=newdate(dob-now)
该数字似乎是UNIX时间值。要转换为javascript日期,请乘以1000并使用日期构造函数:newdate(1525219200*1000)
。要从日期中获得一个人的年龄,请查看副本(有许多答案,有些比其他答案更好)。这是一个相当粗略的近似值,因为它没有考虑闰年。这似乎不起作用。看看:-上面说的年龄是48岁,但是1988年出生的人根据月份的不同会是29/30。我更新了我的答案并添加了JSFIDLE。它现在应该可以工作了@markthankyou.:)我已经接受了答案。如果你能添加评论并解释它在做什么以及为什么,那就更棒了。作为一名大三学生,我需要学习的不仅仅是复制代码,我认为这也会帮助其他人。@Mark要获得准确的公式,请参阅重复问题。这将1525219200视为等同于1970年1月18日,但更可能的是它应该乘以1000(将秒转换为毫秒)。但OP确实应该澄清这一点。