Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.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_Date - Fatal编程技术网

如何在Javascript中检查范围内的日期

如何在Javascript中检查范围内的日期,javascript,html,date,Javascript,Html,Date,在下面的代码中,我想验证2017年8月2日至2017年8月5日之间的日期,并给我们一个日期不在范围内的警报 <script type="text/javascript"> function validate() { today = new Date(); fromdt= new Date("02/08/2017"); todate=new Date("05/08/2017"); if(

在下面的代码中,我想验证2017年8月2日至2017年8月5日之间的日期,并给我们一个日期不在范围内的警报

<script type="text/javascript">
        function validate()
        {

        today = new Date();
        fromdt= new Date("02/08/2017");
        todate=new Date("05/08/2017");

        if( document.myForm.entrydt.value == "" )
           {
             alert( "Please Select Entry Date!" );
             document.myForm.entrydt.focus() ;
             return false;
           }
           else if(!document.myForm.entrydt.value.match(letters3))
          {
          alert("Entry Date: Enter Only Date Format i.e DD/MM/YYYY");
          document.myForm.entrydt.focus() ;
                return false;
            }
            else if (!document.myForm.entrydt.value.today > startdt && !document.myForm.entrydt.value.today < todate)
            {
            alert("Entry Date: Enter Date in Proper Range");
          document.myForm.entrydt.focus() ;
                return false;
            }
        return( true );
        }
        </script>

函数验证()
{
今天=新日期();
fromdt=新日期(“2017年8月2日”);
todate=新日期(“2017年8月5日”);
如果(document.myForm.entrydt.value==“”)
{
警告(“请选择输入日期!”);
document.myForm.entrydt.focus();
返回false;
}
如果(!document.myForm.entrydt.value.match(letters3))
{
警报(“输入日期:仅输入日期格式,即DD/MM/YYYY”);
document.myForm.entrydt.focus();
返回false;
}
如果(!document.myForm.entrydt.value.today>startdt&!document.myForm.entrydt.value.today
==============================================================================

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" class="form-inline" role="form" name="myForm" id="myForm" onsubmit="return(validate());">
        <div id="" class="container" >
                            <div class="form-group">
                                <label for="entrydt">Entry Date</label>=
                                <input class="form-control" style='font-weight:bold;text-transform:uppercase;' id="entrydt" type="text" name="entrydt" style='' placeholder="DD/MM/YYYY" value="" size="10">
                            </div>
            </div> 
        </form>

以毫秒为单位提供时间戳

var today = new Date().getTime();
var from = new Date("02/08/2017").getTime();
var to = new Date("05/08/2017").getTime();
var withinRange = today >= from && today <= to;
var today=new Date().getTime();
var from=新日期(“2017年8月2日”).getTime();
var to=新日期(“2017年8月5日”).getTime();
var withinRange=今天>=从今天开始(&D)
以毫秒为单位提供时间戳

var today = new Date().getTime();
var from = new Date("02/08/2017").getTime();
var to = new Date("05/08/2017").getTime();
var withinRange = today >= from && today <= to;
var today=new Date().getTime();
var from=新日期(“2017年8月2日”).getTime();
var to=新日期(“2017年8月5日”).getTime();
var withinRange=today>=from&&todaynew Date()。getTime()将以毫秒为单位给出比较值的长数值

var today = new Date().getTime(); // 1501653935994
var from = new Date("02/08/2017").getTime(); // gives 1486492200000
var to = new Date("05/08/2017").getTime();

if(today >= from && today <= to) {
   // your code goes here
}
var today=new Date().getTime();//1501653935994
var from=新日期(“2017年8月2日”).getTime();//提供1486492200000美元
var to=新日期(“2017年8月5日”).getTime();
如果(今天>=from&&todaynew Date()。getTime()将以毫秒为单位给出比较值的时间

var today = new Date().getTime(); // 1501653935994
var from = new Date("02/08/2017").getTime(); // gives 1486492200000
var to = new Date("05/08/2017").getTime();

if(today >= from && today <= to) {
   // your code goes here
}
var today=new Date().getTime();//1501653935994
var from=新日期(“2017年8月2日”).getTime();//给出1486492200000
var to=新日期(“2017年8月5日”).getTime();

如果(今天>=from&&today,请检查
日期
构造函数的文档,以查看可接受的格式。还请记住
日期
实际上包括日期和时间,因此您需要在您的范围结束时考虑到这一点。您的问题是?请注意
新日期(“2017年8月2日”)
可能会被解析为2017年2月8日。从您的帖子中不清楚它应该被视为2017年2月8日还是2017年8月2日。请参阅标记的副本。检查
日期
构造函数的文档以查看可接受的格式。还请记住
日期
实际上包括日期和时间,因此您需要考虑到这一点您的问题是:
新日期(“2017年8月2日”)
可能会被解析为2017年2月8日。从您的帖子中不清楚它是应该被视为2017年2月2日还是2017年8月2日。请参阅标记的副本。您可以使用一个优秀的Javascript库:moment.js来提供帮助来比较日期。只需设置一个时刻var:var mmtDate=moment(new Date());设置比较日期:var theDate=moment('2017-08-15');最终使用方法:var before=theDate.isBefore(mmtDate)?true:false;希望它能帮助我们了解提示-但为什么不将其作为答案发布?@FranzDeschler,因为发布“use library X”不是答案,在不提供格式的情况下解析字符串容易出错。但是先生,如果(!document.myForm.entrydt.value.today>startdt&&!document.myForm.entrydt.value.todaystartdt)&&(new Date().getTime()startdt&&!document.myForm.entrydt.value.todaystartdt)和&(new Date().getTime()startdt&&!document.myForm.entrydt.value.todatestartdt&&!document.myForm.entrydt.value.todate