javascript - 将今天的日期与日期列表进行比较

标签 javascript jquery

如果这是重复的,我很抱歉,但我找不到与我的问题相匹配的现有答案(我已经看过了!)。

我有一个大约有十几个项目的列表,每个项目都有 <span>*fixed date*</span> .

包含日期的列表看起来像这样......

<ul id="whatson">
  <li>
     <span class="chkdate">06/04</span> 
     somestuff1
  </li> 
  <li>
     <span class="chkdate">06/05</span> 
     somestuff2
  </li>
  .......
</ul>

我想过滤列表,以便隐藏所有早于今天的日期。

会给我今天的日期,例如mm/dd = 06/04,看起来不错。

我现在想根据格式为例如的每个列表项检查这一点06/04 并隐藏那些早于今天的项目。

它只需要在页面加载时运行一次。

到目前为止我的代码...

$(document).ready(function () {
    var d = new Date();
    var month = d.getMonth() + 1;
    var day = d.getDate();
    var todaysdate = (month < 10 ? '0' : '') + month + '/' + (day < 10 ? '0' : '') + day;

    alert("checking " + datetocheck + " against today = " + todaysdate);
    --- * temp check *

    var datetocheck = $('#whatson li span.chkdate').text();

    if (datetocheck < todaysdate) {
          $('#whatson li').hide();
    } else {
          $('#whatson li').show();
    };
})

我的警报显示..

Checking 06/0406/04 against today 06/04 *(when all list dates match)*

并正确显示。

更改提醒显示的一个或多个列表日期

Checking 06/0306/04 against today 06/04 *(when one or more list dates don't match)*

什么也没显示。

你能帮忙吗,我以为这很简单,但就是得不到结果?

最佳答案

正如评论中提到的,比较 Date 类型的变量总是更好。 (这样您就不必进行截至 12 月的广泛比较,这可能很麻烦)。所以,我使用的方法是将您的文本转换为 Date输入对象并将其与当前日期进行比较:

  var d = new Date();
  d.setHours(0, 0, 0, 0);
  var year = d.getFullYear();
  $(".chkdate").each(function (i) {
      //added a setHours function to make time parameters of Date zero before comparing
     ((new Date($(this).text() + "/" + year)).setHours(0, 0, 0, 0) < d) ? $(this).closest("li").hide() : $(this).closest("li").show();
  });

所做的假设:

编辑:

  • 必须添加更多行,因为对于当前日期,它也在比较时间,因此不匹配。使用 .setHours(0, 0, 0, 0); 从参数中删除了时间参数
  • 已更改 ><

关于javascript - 将今天的日期与日期列表进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16924260/

相关文章:

javascript - 从文件加载 XML 并解析?

javascript - 始终在 webkit 浏览器中显示水平滚动条(特别是 Safari 和 iOS 设备)

javascript - 单击 Bootstrap 链接内的插入符号图标不起作用

PHP DOM 和 JavaScript 以及 HTML 实体

javascript - 在javascript中播放音频文件

javascript - 确定成员是否在(Javascript)父类(super class)中定义

jquery - 如何打印JQuery ThickBox插件的内容?

javascript - 如何将两个搜索代码合并为一个

javascript - Jquery 查找图像高度不工作

jquery - 如何以编程方式重置表单?