如何将用户输入的日期字符串转换为JavaScript日期格式

如何将用户输入的日期字符串转换为JavaScript日期格式,javascript,Javascript,我想计算用户输入出生日期时的年龄。我通过文本字段获得了用户输入的值。但我的输出是NaN。我认为将字符串转换为日期时出错。这是我的密码 函数printage(){ var dob=document.getElementById(“dob”).value; 变量年龄; var过去; var现在; var a; 过去=dob.getDate(); a=Date.parse(过去); now=Date.now(); 年龄=现在-过去; var毫秒=年龄; var秒=1000; var分钟=秒*60;

我想计算用户输入出生日期时的年龄。我通过文本字段获得了用户输入的值。但我的输出是NaN。我认为将字符串转换为日期时出错。这是我的密码

函数printage(){
var dob=document.getElementById(“dob”).value;
变量年龄;
var过去;
var现在;
var a;
过去=dob.getDate();
a=Date.parse(过去);
now=Date.now();
年龄=现在-过去;
var毫秒=年龄;
var秒=1000;
var分钟=秒*60;
var小时=分钟*60;
var日=小时*24;
风险年=日*365;
变量年=数学整数(毫秒/(天*365));
var message=“年龄”+年;
document.getElementById(“demo”).innerHTML=年;
}

输入您的出生日期
年龄

使用
过去=新日期(dob)
而不是
获取日期()


输入您的出生日期
年龄

函数printage(){ var dob=document.getElementById(“dob”).value; 变量年龄; var过去; var现在; var a; 过去=新日期(dob); console.log(过去) a=Date.parse(过去); now=Date.now(); 年龄=现在-过去; var毫秒=年龄; var秒=1000; var分钟=秒*60; var小时=分钟*60; var日=小时*24; 风险年=日*365; 变量年=数学整数(毫秒/(天*365)); var message=“年龄”+年; document.getElementById(“demo”).innerHTML=年; }
用户应该以什么格式输入日期
2000年5月11日
2000年5月11日
11-05-2000
?为什么不改用
input type=“date”
?根据一些注释,您也可以直接使用input type date。不需要任何转换