JQuery Datepicker:如果选择的日期是今天的日期

Bad*_*mer 4 jquery jquery-ui date datepicker jquery-ui-datepicker

我可以使用以下方法确定所选日期是否过去:

var due_date = $('#due_date').val();
if(new Date(due_date).getTime() <  new Date().getTime())
{
  //do stuff
}
Run Code Online (Sandbox Code Playgroud)

^这很好

我使用以下内容确定所选日期是否为今天的日期:

var due_date = $('#due_date').val();
var today = new Date().getTime();
if(new Date(due_date).getTime() == today)
{
    alert('ok');
}
Run Code Online (Sandbox Code Playgroud)

但它没有达到那个警觉.上述陈述有什么问题?

azt*_*chy 8

datepicker对象有一个getDate方法,您可以使用该方法返回日期值以将其与新日期()进行比较.你必须在新的日期进行一些进一步的按摩,但这应该能得到你想要的东西.

JsFiddle示例

HTML:

Date: <input type="text" id="thedate"/>
<div id="checkDate">Check Date</div>
Run Code Online (Sandbox Code Playgroud)

JS:

$('#thedate').datepicker();

$('#checkDate').bind('click', function() {
  var selectedDate = $('#thedate').datepicker('getDate');
  var today = new Date();
  today.setHours(0);
  today.setMinutes(0);
  today.setSeconds(0);
  if (Date.parse(today) == Date.parse(selectedDate)) {
    alert('today!');
  } else {
    alert('not today');
  }
});
Run Code Online (Sandbox Code Playgroud)


Ant*_*ist 2

字符串“30/03/2012”用于创建日期时会生成一个表示 2012 年 3 月 30 日午夜的 Date 对象。当您调用时,new Date()它会创建一个表示当前时间(包括秒和毫秒)的 Date 对象。

setHours()您需要使用、等函数将 Date 对象的小时、分钟、秒和毫秒属性设置为 0,以便它们表示完全相同的时间setMinutes()

有关 Date 对象的更多信息,请查看MDN 条目