Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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日期验证?_Javascript_Html_Node.js_Json_Reactjs - Fatal编程技术网

Javascript日期验证?

Javascript日期验证?,javascript,html,node.js,json,reactjs,Javascript,Html,Node.js,Json,Reactjs,我的代码中有此验证: } if(!$('#date').val() ) { toastr.warning('Incomplete date field'); return; } 如何验证输入日期不能大于当前日期?或getdate() 我在旅行 } if(!$('#date').val() )> date.now { toastr.warning('

我的代码中有此验证:

  }
        if(!$('#date').val() ) {
            toastr.warning('Incomplete date field');
            return; 
       }
如何验证输入日期不能大于当前日期?或getdate()

我在旅行

 }
            if(!$('#date').val() )> date.now {
                toastr.warning('Check date');
                return; 
           }
但是它不工作

Date.now()
返回当前时间戳(自1970年1月1日00:00:00 UTC以来经过的毫秒数)。它可以与另一个时间戳进行比较,如下所示:

if (timestamp > Date.now()) {
    toastr.warning('Check date');
    return; 
}
时间戳
此处需要通过将文本转换为从输入值获取。日期对象支持多种格式,请参见示例

假设
#数据
输入值为
2021-12-31
时间戳
将为1640908800000,
检查日期
警告将显示:

// $('#date').val() is '2020-11-20'
const dateObject = new Date($('#date').val());
const timestamp = dateObject.getTime();
// timestamp is 1640908800000
// Date.now() is 1605139119142
// 1640908800000 > 1605139119142
if (timestamp > Date.now()) {
    toastr.warning('Check date');
    return; 
}
另外,请注意JavaScript是区分大小写的,因此
Date
Date
不同


p.p.S.用Date对象解析日期(特别是时间)有很多问题,所以创建了许多库来可靠地完成这项工作。例如,和。

首先,
>日期。现在
应该在parenths中。其次,#date的值是一个字符串,您必须将其转换为日期对象,以便将其与另一个日期进行比较。嘿,Lopez,您通常要做的第一件事是确认从表单中获取的日期格式。假设您得到的是一个有效的Unix epoch时间值,请尝试
(Math.abs($('#date').val())