如何使用javascript将验证日期设置为不小于文本框中的开始日期

如何使用javascript将验证日期设置为不小于文本框中的开始日期,javascript,date,Javascript,Date,我有两个约会: 开始日期 <input type="text" name="startdate" value="2016-04-08"> 谢谢如果只需比较天数,只需检查一个值是否等于或高于另一个值 您可以通过获取这两个值、获取最后一部分并比较它们来实现这一点。例如: var date = '2016-04-08'; var day = date.split('-')[2]; split将字符串转换为数组: 最后一个值是日期。如果要将其作为数字进行比较,请确保将其转换为数字(或in

我有两个约会:

开始日期

<input type="text" name="startdate" value="2016-04-08">

谢谢

如果只需比较天数,只需检查一个值是否等于或高于另一个值

您可以通过获取这两个值、获取最后一部分并比较它们来实现这一点。例如:

var date = '2016-04-08';
var day = date.split('-')[2];
split
将字符串转换为数组:

最后一个值是日期。如果要将其作为数字进行比较,请确保将其转换为数字(或
int
):

如果你想比较整个日期,这在我看来更有意义,那就有点棘手了。在这种情况下,您必须将值转换为正确的JS
Date
对象。一旦它们都是
Date
对象,您就可以对它们进行比较

为此,您还可以如上所述使用
拆分部分。为
Date
对象提供三个部分(年、月、日),以创建有效的日期对象

你可以这样做

function CheckSchedulingDates() {
  var SD = document.getElementById('startdate').value;
  var ED = document.getElementById('enddate').value;
  if (Date.parse(SD) >= Date.parse(ED)) {
    return 'The ending date must occur after the starting date.'    
  }
}

不,不要使用Date.parse,请参阅。请不要在其他地方发布代码,请将其作为代码片段发布到此处。
var date = '2016-04-08';
var day = date.split('-')[2];
function CheckSchedulingDates() {
  var SD = document.getElementById('startdate').value;
  var ED = document.getElementById('enddate').value;
  if (Date.parse(SD) >= Date.parse(ED)) {
    return 'The ending date must occur after the starting date.'    
  }
}