javascript - 如何在 Angular 8 或 javascript 中明智地获取当前日期每周日
问题描述
我正在为一个预测项目工作。我需要在 Angular 8 或 javascript 中每周获取当前日期,只需要与当前日期的前一天和下一天相关的 5 天。假设今天是星期六,那么它将显示上个星期四、星期五的日期、今天的星期六日期、即将到来的星期天和星期一的日期。这是下面的代码
home.component.html
<div style="float:left">
<p>Thu</p>
<p>4</p>
</div>
<div style="float:left;margin-left:10px;">
<p>Fri</p>
<p>5</p>
</div>
<div style="float:left;margin-left:10px;">
<p>Sat</p>
<p>6<p>
</div>
<div style="float:left;margin-left:10px;">
<p>Sun</p>
<p>7</p>
</div>
<div style="float:left;margin-left:10px;">
<p>Monday</p>
<p>8</p>
</div>
home.component.ts
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {
getListData: any;
constructor() { }
ngOnInit() {
}
}
解决方案
您只需在前 2 天创建并继续增加日期并为其创建列表并将列表传递给您的homeComponent
let daysList = [];
const d = new Date();
// set the date to two days ealrier, then keep on increaing it
d.setDate(d.getDate() - ((d.getDay() + 3) % 7));
daysList.push(new Date(d.getFullYear(), d.getMonth(), d.getDate()));
daysList.push(new Date(d.getFullYear(), d.getMonth(), d.getDate() + 1));
daysList.push(new Date(d.getFullYear(), d.getMonth(), d.getDate()+2));
daysList.push(new Date(d.getFullYear(), d.getMonth(), d.getDate()+3));
daysList.push(new Date(d.getFullYear(), d.getMonth(), d.getDate() + 4));
推荐阅读
- ruby - ruby 中的 Set 如何比较元素?
- integration - ODI 12c 安装问题
- c# - 将静态变量更改为非静态可避免异常
- linux - 如何在顶部隐藏“空闲”(CPU和RAM)进程?
- php - 结合正则表达式
- python - Django REST:如何更改 ModelSerializer 类的默认字段类型
- sql - 您的查询不包含指定的表达式“ID”作为聚合函数的一部分
- c# - Visual Studio 2017 - 如何更改现有项目的 .NET 版本?
- excel - 从 Excel 公式转换为 VBA 代码
- javascript - 为 XMLHttpRequest 设置代理以编辑表单数据