首页 > 解决方案 > 如何在 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() {

  }
}

标签: javascriptangulartypescript

解决方案


您只需在前 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));


推荐阅读