在正确的工作日标题下打印天数

时间:2017-11-03 12:22:03

标签: javascript angular momentjs

我正在尝试打印日历。

我有一个月中所有日子的数组(日期对象)。我想在<thead>中创建一个包含工作日(周一,周二,......)的表格,并在<tbody>中打印出每一天(这意味着每行有7个数据单元格)。

我的问题是,如何确保每个星期一打印在正确的表格标题下?因此,当我的月份在星期二开始时,我希望周一的单元格为空。

我坚持这个,我找不到解决这个问题的方法。

这些变量可能会让您更清楚地了解我想要做什么

public currentDate: moment.Moment; /* Today */
public currentMonth: Date[] = []; /* Aray with all the dateobjects of the month */
public weekDays: string[] = []; /* week day titles */

模板

<table>
    <thead>
        <tr>
            <ng-template ngFor let-weekday [ngForOf]="weekDays" let-i="index">
                <th>{{ weekday }}</th>
            </ng-template>
        </tr>
    </thead>
    <tbody>
        <!--Stuck on this step-->
    </tbody>
</table>

2 个答案:

答案 0 :(得分:0)

您可以使用javascript方法

getDay()

返回第0天到第6天(周日至周六)的数字。

您可以使用它来计算需要添加的偏移量,以便在表格

中的正确位置开始

答案 1 :(得分:0)

希望这有帮助,

首先,创建您需要的月份的第一个日期。然后使用getDay()找出一周中的哪个日期。

35

上述代码的输出为3.这意味着2017年11月1日是星期三。