javascript - 连续获取之前、今天和明天的日期

标签 javascript jquery html angular date

如何连续获取前一天?例如,我有这个 HTML:

<ul>
<li (click)="prevDay()"></li>
</ul>

<div>{{day}}</div>

JS:

dayBefore() {
        let now: any = new Date();
        this.days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
        this.day = this.days[now.getDay() - 1];
}

这样我只能得到昨天的数据,但我不断地需要它。当我再次点击<div>{{day}}</div>时我需要它在“昨天”的前一天等等。所以,星期四,星期三,星期二,等等......

编辑:今天和明天都一样......

最佳答案

在您的 Controller 中,仅初始化一次新日期数组

private myDate=new Date();
private days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
private day = this.days[this.myDate.getDay()];;

所以你今天有约会了。然后在更改日期的方法中更新您的日期。

private dayBefore(){
   this.myDate=this.myDate.addDays(-1);
   this.day= this.days[this.myDate.getDay()];
}

private dayAfter(){
   this.myDate=this.myDate.addDays(1);
   this.day= this.days[this.myDate.getDay()];
}

private restoreToday(){           
   this.myDate=new Date();
   this.day= this.days[this.myDate.getDay()];
}

并且,在您的 html 中

<ul>
   <li (click)="dayBefore()">Prev</li>
   <li (click)="restoreToday()">Today</li>
   <li (click)="dayAfter()">Next</li>
</ul>

<div>{{day}}</div>

关于javascript - 连续获取之前、今天和明天的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43545614/

相关文章:

html - 垂直居中对齐div问题以及图像

jquery - 仅当国家/地区是美国或加拿大时才使用 bootstrapValidator 进行条件验证

javascript - 重新加载 ng-repeat 在删除旧列表之前呈现新列表

javascript - 删除:focus and its style after mousewheel click

javascript - 如何使用 KnockoutJS 将客户端分页添加到表中?

jquery - Chrome 中的颜色框问题

Javascript仅在窗口处于焦点时才执行计时器函数?

html - 有没有办法将一些 <div> 标签垂直分成两列?

javascript - 使用 ContentEditable 复制和粘贴表格

javascript - 如何在 TypeScript WebSocket 上发送消息