与今天的日期相比,日期对象似乎并不准确

时间:2017-07-13 15:06:46

标签: javascript jquery

我有这个功能,需要今天的日期,并将其比较为两周。当它小于或等于当前日期时,它应该添加一个类。但是,如果它是今天的日期,它就无法正常工作。否则它工作正常。有任何想法吗?感谢

publicMethods.campaignEndDateAlert = function (dateString) {
  if (!dateString) {
    return dateString
  };

  var currentDate = new Date ();
  var twoWeeks = new Date ();
  twoWeeks.setDate(currentDate.getDate() + 14);
  var inputDate = new Date(dateString);

  // This is the part that doesn't seem to work - the first part of this if statement
  if ((inputDate >= currentDate) && (inputDate <= twoWeeks)) {  
    dateString = '<span class="red">' + ax.Utils.RFCFormat(dateString, { excludeTime: true }) + '</span>';
  } else { 
    dateString = ax.Utils.RFCFormat(dateString, { excludeTime: true }) 
  };
  return dateString;
};

1 个答案:

答案 0 :(得分:3)

由于您提供的信息:

你说如果它是今天的日期,它就不会按预期工作。这是因为new Date()将为日期对象提供今天的日期时间。 IF dateString的值类似于"07-13-2017" 而没有时间,如果您期望,则需要从currentDate对象中删除时间inputDate >= currentDate是真的。在与inputDate进行比较之前,请尝试使用currentDate.setHours(0, 0, 0, 0);