Javascript jQuery检查开始日期是否大于结束日期

Javascript jQuery检查开始日期是否大于结束日期,javascript,jquery,Javascript,Jquery,我有以下问题 我从HTML表单中获得开始日期和结束日期,这两个日期都有效,并且由引导日期选择器输入/选择 日期示例如下所示 start_date = 15-06-2016 end_date = 14-06-2016 我有以下代码来检查开始日期是否大于结束日期: if (Date.parse(start_date) > Date.parse(end_date)) { error = true; console.log('start date is greater than

我有以下问题

我从HTML表单中获得开始日期和结束日期,这两个日期都有效,并且由引导日期选择器输入/选择

日期示例如下所示

start_date = 15-06-2016
end_date = 14-06-2016
我有以下代码来检查开始日期是否大于结束日期:

if (Date.parse(start_date) > Date.parse(end_date))
{
    error = true;
    console.log('start date is greater than end date');
}
else
{
    console.log('start date is smaller than end date');
}
开始日期大于结束日期,但在我的验证中,总是记录“开始日期小于结束日期”

我还在条件语句中尝试了以下操作,但仍然得到相同的结果:

if (new Date(start_date) > new Date(end_date))
if (start.Date > date.Date)
如果我用“而不是

start_date = 15-06-2016
end_date = 14-06-2016
使用


您的其余代码保持不变。

此日期格式无法被识别


console.log(Date.parse('15-06-2016');
您可以使用
String.prototype.split()
Array.prototype.reverse()
Array.prototype.join(),
新日期()
.getTime()

var开始日期=“15-06-2016”
,结束日期=“14-06-2016”;
函数getTime(d){
返回新日期(d.split(“-”).reverse().join(“-”).getTime()
}

console.log(getTime(start\u date)>getTime(end\u date))
首先尝试将日期格式转换为标准JavaScript日期格式,如
YYYY-MM-DD
,然后您可以将其解析为
date
对象。完成后,您可以执行以下所需的比较:

可在以下链接中找到标准日期格式:
var开始日期='15-06-2016';
var结束日期='14-06-2016';
//转换为标准日期格式,如YYYY-MM-DD
开始日期=
开始日期.拆分('-')[2]+“-”+开始日期.拆分('-')[1]+“-”+开始日期.拆分('-')[0]
结束日期=
结束日期。拆分('-')[2]+“-”+结束日期。拆分('-')[1]+“-”+结束日期。拆分('-')[0]
if(Date.parse(开始日期)>Date.parse(结束日期))
{
错误=真;
console.log('开始日期大于结束日期');
}
其他的
{
console.log('开始日期小于结束日期');

}
您还可以通过javascript隐藏选定日期之前的日期

HTML:

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/jquery-ui.css" type="text/css" media="all"><label for="from">From</label> <input type="text" id="from" name="from"/> <label for="to">to</label> <input type="text" id="to" name="to"/>

这是一个有效的

日期格式无法被
date()
构造函数正确读取(示例:)。您需要先将其更改为
mm/dd/yyyy
格式。
start\u date
end\u date
变量数字或字符串吗?它们是字符串值,我正在尝试转换为timethanx@Rory,将尝试更改格式并让您知道答案顶部列出的日期只是我添加的示例,实际从表单中收到日期,我尝试了
if(新日期(开始日期)>新日期(结束日期))
,但得到了相同的结果这是最短的代码,也是第一个有效的代码,thanx!
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/jquery-ui.css" type="text/css" media="all"><label for="from">From</label> <input type="text" id="from" name="from"/> <label for="to">to</label> <input type="text" id="to" name="to"/>
var dateToday = new Date(); var dates = $("#from, #to").datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3,
minDate: dateToday,
onSelect: function(selectedDate) {
    var option = this.id == "from" ? "minDate" : "maxDate",
        instance = $(this).data("datepicker"),
        date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
    dates.not(this).datepicker("option", option, date);
}   });