angular - getTime() 格式为“日-月-年”(Angular)
问题描述
在数据库中,我有一个格式的出生日期day-month-year
(如“ 12-07-1997
,13-07-1997
”)。我想得到一个年龄并使用这样的功能:
if (birthday) {
let timeDiff = Math.abs(Date.now() - new Date(birthday).getTime());
let age = Math.floor(timeDiff / (24 * 3600 * 1000) / 365.25);
console.log(age + ' y.o.')
}
在第一个示例中,它返回22 y.o.
,但如果13-07-1997
我有NaN y.o.
. 我认为这是日期格式的原因。任何想法我应该如何getTime()
在这里正确使用?
非常感谢您的帮助!
解决方案
new Date('13-07-1997')
正在得到Invalid Date
,这就是你得到的原因NaN
,请尝试下面的代码
let birthdayString="13-07-1997";
let dateParts = birthdayString.split("-");
let newB=new Date(+dateParts[2], parseInt(dateParts[1]) - 1, +dateParts[0]);
var ageDifMs = Date.now() - newB.getTime();
var ageDate = new Date(ageDifMs); // miliseconds from epoch
console.log("your age is" ,Math.abs(ageDate.getUTCFullYear() - 1970));
推荐阅读
- javascript - d3.js: insert g elements at a certain location
- javascript - Chasing-coins api cors issue
- java - 当值包含 List 并且对 List 的引用为 NULL 时,如何在 JSON 中迭代 Map
- laravel - 如何在 laravel 中安装/克隆 PHPExcel 库?
- android - Android 房间迁移:通过创建新表来更新属性名称
- html - maskUnits 和 maskContentUnits 属性如何影响蒙版定位?
- c++ - OpenMP:for循环避免数据竞争而不使用关键
- flutter - 颤动:控制台中面临的错误。应用程序自动关闭?
- jenkins - 我的 Jenkinsfile 可以只包含属性而不包含 piepeline 代码吗
- python - 发布数据给我 IntegrityError Django