首页 > 解决方案 > Javascript 返回月份和单独星期一的所有日期列表

问题描述

我想知道是否有人可以帮助我,我已经尽我所能,尽我所能,但是一些帮助真的很棒,如果没有帮助,那么只是一些建议,我正在慢慢学习。

作为某人的建议,我试图包含尽可能多的代码。

所以我有以下代码

var my_dates = function(start, end)
 {
    var start = new Date(start);
    var end = new Date(end);

     var arr = new Array();
     var dt = new Date(start);
     while (dt <= end)
      {
        arr.push(new Date(dt));
        dt.setDate(dt.getDate() + 1);
      }
      return arr;
    }

  var dates_array = my_dates('2021-02-02', '2021-02-23');

如果我这样做console.log(dates_array ),它会返回两个定义日期之间的日期列表,这很棒。

如果您认为我的代码太过分了,我愿意学习更好的方法。

但我想做的是扩展它,而不是返回这两个日期之间的日期,所以在二月的情况下,它将返回从 1 日到 28 日的所有日期。

然后我有这个HTML

<div id="start_dates">
    <ul class="monday_dates"></ul>
</div>

<div id="all_dates">
    <ul class="all_dates"></ul>
</div>

然后使用 jQuery,我想将每个星期一作为一个<li>插入 .monday_dates <ul>,我假设类似$('#start_dates .monday_dates').append()

然后将所有日期的完整列表作为 a<li>放入 .all_dates <ul>,我假设类似$('#all_dates .all_dates').append()

所以 HTML 源代码看起来像

<div id="start_dates">
    <ul class="monday_dates">
    <li class="mon">01/02/2021</li>
    <li class="mon">08/02/2021</li>
    <li class="mon">15/02/2021</li>
    <li class="mon">22/02/2021</li>
    </ul>
</div>

<div id="all_dates">
    <ul class="all_dates">
    <li class="day">01/02/2021</li>
    <li class="day">02/02/2021</li>
    <li class="day">03/02/2021</li>
    ...
    <li class="day">26/02/2021</li>
    <li class="day">27/02/2021</li>
    <li class="day">28/02/2021</li>
    </ul>
</div>

任何人都可以帮忙吗?或劝告。

谢谢你,我非常感谢你的时间

标签: javascripthtmljquery

解决方案


.getDay 星期一返回 1,其他日子分别返回 1

<div id="start_dates"></div>

elmRef = document.querySelector("#start_dates");
ulRef = document.createElement("ul");
for (i = 0; i < dates_array.length; i++) {
    if (dates_array[i].getDay() == 1) {
        li = document.createElement("li");
        li.append(dates_array[i].toLocaleString());
        ulRef.append(li)
    }
}
elmRef.append(ulRef);


推荐阅读