Angularjs如何获取一周中的所有日期和日期

时间:2019-03-28 12:19:52

标签: javascript angularjs angularjs-ng-repeat

如何在angularjs中获取一周中的所有日期和日期

<script>
        function startAndEndOfWeek(date) {
            date = "2019-02-26 00:00:00";   -- passing any date here       
            var now = date ? new Date(date) : new Date();
            now.setHours(0, 0, 0, 0);
            var monday = new Date(now);
            monday.setDate(monday.getDate() - monday.getDay() + 1);
            var sunday = new Date(now);
            sunday.setDate(sunday.getDate() - sunday.getDay() + 7);
            return [monday, sunday];
        }
      //alert(startAndEndOfWeek(new Date(2019, 03, 28)).join('\n'));
        alert(startAndEndOfWeek().join('\n'));
    </script>

结果:2019年2月25日星期一00:00:00           2019年3月3日,星期日00:00:00

但我希望该周的所有日期和日期像 2月25日星期一 2月26日,星期二 .. ..

以便我可以将其绑定到下面的中继器,该中继器将在表格中显示日期和日期。

<body>
    <div ng-app>
        <div ng-controller="TodoCtrl">
            <!--<div ng-repeat="day in weekDays">  {{day}} </div>-->
            <table ng-repeat="day in weekDays">
                <tr>
                    <td>
                        <label for="lblDay">Date - Day: </label>{{day}}
                    </td>
                </tr>
                </table>
        </div>
    </div>
</body>

1 个答案:

答案 0 :(得分:0)

我已经修改了您的功能startAndEndOfWeek

function startAndEndOfWeek(date = "2019-02-26 00:00:00") {
    var now = date ? new Date(date) : new Date();
    now.setHours(0, 0, 0, 0);
    return Array(7).fill('').map((_, i) => {
      var monday = new Date(now);
      monday.setDate(monday.getDate() - monday.getDay() + (i + 1));
      const day = monday.toDateString().split(' ')[0];
      const month = monday.getMonth() + 1;
      const date = monday.getDate();
      return day + ' ' + month + '/' + date;
    });
  }

startAndEndOfWeek("2019-02-26 00:00:00")

确保收集一周中的所有日期