Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的getTime()错误_Javascript - Fatal编程技术网

javascript中的getTime()错误

javascript中的getTime()错误,javascript,Javascript,我是javascript新手。我正在尝试创建一个页面,该页面有一个关于出生日期的输入选项。单击submit按钮后,我想验证此人是否未成年(18岁以上) 这是我的HTML代码 <form id="myForm" method="get" action="#"> <p>Date of birth: <input type="date" name="dob" value="MM-DD-YYYY" required></p> <p>

我是javascript新手。我正在尝试创建一个页面,该页面有一个关于出生日期的输入选项。单击submit按钮后,我想验证此人是否未成年(18岁以上)

这是我的HTML代码

<form id="myForm" method="get" action="#">

  <p>Date of birth: <input type="date" name="dob" value="MM-DD-YYYY" required></p>

  <p><input type="submit" value="submit" onclick="return validate_date_of_birth()">
</form>
我对dob.getTime()有问题。注意,我并没有在上面的代码中真正验证年龄。这将需要一个if循环来验证年龄。我被困在一个无法计算差异的点上。 我试图使用javascript中的alert()函数检查Date.now()和dob.getTime()的值。对于dob.getTime(),它输出的值为“未定义”。 我做错了什么?

.getTime()
是JavaScript中日期/时间对象的方法

var-dob=document.forms[“myForm”][“dob”].value不是有效的
日期
对象,因为它是字符串

这导致您在
dob.getTime()
中出错

要防止错误,只需在设置后首先解析
dob
todate即可

var dob = new Date(document.forms["myForm"]["dob"].value);

希望这对您在输入值上使用
getTime()
有所帮助,但您需要在
日期
对象上使用它。为此,根据输入值构造一个
Date
对象,然后您就可以得到它的时间。但是要小心,
Date
需要采用以下格式之一:

  • YYYY-MM-DD
  • MM/DD/YYYY
  • 2015年3月25日
  • 2015年3月25日星期三
否则你会得到一个错误。显然,您可以接收任何格式,然后将其重新格式化为所需格式

函数验证出生日期(){
var dob=document.forms[“myForm”][“dob”].value;
var ageDifMs=Date.now()-new Date(dob.getTime();//我们从dob创建一个新的日期对象
控制台日志(ageDifMs);
return false;//这样我们就可以看到结果,而不会被重定向
}

出生日期:

试试这个
var dob = new Date(document.forms["myForm"]["dob"].value);
var dob = document.forms["myForm"]["dob"].value;
dob = new Date(dob);