格式为 'day-month-year' (Angular) 的 getTime()

getTime() in format 'day-month-year' (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.')
}

在第一个示例中它是 returns 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));

  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));