验证并将类添加到过去,当前和&使用jQuery的未来日期

时间:2016-10-05 06:07:20

标签: jquery

我有这个片段来验证data-date属性是否比当前日期更新/等于/更旧以分配相应的类。但是,该代码仅对1 - 9有效,否则将被视为早于当前日期。

请参阅这些代码

$(function() {
  var date = new Date(),
  currentDate = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
  $(".grid-item").each(function() {
    var specifiedDate = $(this).data('date');
    if (specifiedDate == currentDate) {
      $(this).addClass('today');
    } else if (currentDate > specifiedDate) {
      $(this).addClass('past');
    } else {
      $(this).addClass('future');
    }
  });
});

请参考这个工作小提琴。谢谢你的帮助!

https://jsfiddle.net/sandalkoyak/jrnvzrfu/

1 个答案:

答案 0 :(得分:0)

试试这段代码。您需要使用 Date.parse()方法解析日期字符串,该方法返回自1970年1月1日00:00:00 UTC或NaN后的毫秒(如果字符串无法识别,或者在某些情况下包含非法)日期值(例如2015-02-31)。

$(function() {
    var date = new Date(),
    currentDate = date.getFullYear() + "-" + (date.getMonth()+1) + "-" + date.getDate();
    currentDate=Date.parse(currentDate);
    $(".grid-item").each(function() {
       var specifiedDate = $(this).data('date');
       specifiedDate=Date.parse(specifiedDate);
       if (specifiedDate == currentDate) {
         $(this).addClass('today');
       }else if (currentDate > specifiedDate) {
         $(this).addClass('past');
       }else {
         $(this).addClass('future');
       }
   });
});