在Angular中显示当前工作日的日期



如何在Angular中显示当前的工作日日期?这是一个星期一到星期五的时间表,我想动态地显示运行周的具体日期。

例如,本周从2021年3月1日开始。所以想在表头中显示如下-

Mon             Tues          Wed            Thur            Fri
01/03/2021      02/03/2021    03/03/2021     04/03/2021      05/03/2021

当一周变为下一周时,日期应动态变为该周。

你可以直接使用DatePipe。

例如,在.ts文件中,我有一个字段日期,如下所示:
date: Date = new Date(Date.now());

然后我可以在HTML中使用管道获取工作日,如下所示:

{{ date | date:'EEEE' }}

好的,第二次尝试,现在我明白你的问题了:)

首先,我想指出,有许多日历和日期picker组件可用(如Bootstrap一个),但如果你只是想显示日期作为表头,我只是有一个日期变量:

startOfTheWeek: Date = new Date("2021-03-01");

是要显示的一周的开始日期。当然,这应该是动态的,也许可以看到JavaScript -从当前日期获取一周的第一天。假设我们有我们想要的星期一,我写了一个小的辅助函数:

public getWeekDays(startingDate: Date): Date[] {
const dateList: Date[] = [];
for (let i = 0; i <= 4; i++) {
const newDate = new Date(this.startOfTheWeek.getTime());
newDate.setDate(newDate.getDate() + i);
dateList.push(newDate);
}
return dateList;
}

我刚刚创建了一个包含5个日期的数组,其中每个日期都比前一天多一天。

在模板中,我将这样做:

<table>
<thead>
<tr>
<th *ngFor="let day of getWeekDays(startOfTheWeek)">{{day | date:"EEE'n'd/M/y"}}</th>
</tr>
</thead>
<tbody>
<tr>
<td>running</td>
<td>running</td>
<td>running</td>
<td>running</td>
<td>running</td>
</tr>
</tbody>
</table>

与此CSS:

table, tr, th, td {
border: 1px solid black;
}
th {
white-space: pre-wrap;
}

预换行是为了保留日期和工作日之间的换行符。

希望有帮助:)

我可以用moment.js解决

最新更新