【问题标题】:Date comparison using jquery使用jquery进行日期比较
【发布时间】:2014-02-05 04:40:56
【问题描述】:

我使用以下代码检查日期是否在今天之前!但是当我今天选择时,条件变为真!

var fromDate = $('#from').datepicker('getDate');
var toDate = $('#to').datepicker('getDate');
var today = new Date();

if(today >= fromDate || toDate <= today){
    alert('Cannot book dates prior to today.');
    $('#from, #to').val('')
    return false;
}

我在这里做错了什么?

【问题讨论】:

  • 只针对当前状态?不是未来的状态?
  • 也许我很困惑,但你不希望 ">=" 和 "" 和 "
  • 当前状态是什么意思?你指的是当前日期吗?如果是这样,是的!它只发生在当前日期。
  • 你在$('#from, #to').val('')之后缺少;
  • 感谢您的提醒,但我不认为 ;是问题!

标签: javascript jquery date jquery-ui-datepicker


【解决方案1】:

应该是这样的

var fromDate = $('#from').datepicker('getDate');
var toDate = $('#to').datepicker('getDate');
var today = new Date();
 today.setHours(0,0,0,0);
fromDate.setHours(0,0,0,0);
toDate.setHours(0,0,0,0);

if(today > fromDate || toDate < today){
    alert('Cannot book dates prior to today.');
    $('#from, #to').val('')
    return false;
}

【讨论】:

  • 当我选择当前日期为fromDate时条件仍然为真
  • 那么你必须使用&amp;&amp;。或者 if(!(today &gt; fromDate &amp;&amp; toDate &lt; today)) 在你的情况下,困惑。 ;)
  • 我在我的日期变量中注意到了这一点! today 变量包含带有当前时间的完整日期,起始日期仅包含午夜的日期和时间。是这个问题吗?
  • @DimalChandrasiri 嗯,等等,让我好好想想,当你点击“今天”时,现在几点了...嗯,今天凌晨 0 点,一天开始的午夜还是一天的结束?还是“从”和“到”不同,“从”有一天的开始,而“到”有一天的结束?这就是为什么我不发布答案的问题,我不知道datepicker。 ;)
  • @dollarvar 使用 && 是不可能的,因为即使一个条件为真,我也想触发该方法!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-22
  • 1970-01-01
  • 1970-01-01
  • 2014-12-14
  • 1970-01-01
相关资源
最近更新 更多