【问题标题】:How to return a Date format when I use setDate()使用 setDate() 时如何返回日期格式
【发布时间】:2020-06-20 09:15:20
【问题描述】:

我像这样将 weekEnd 分配为当前的一周结束

this.weekEnd = new Date(this.currentDate.setDate(end));

接下来,我想要为 weekEnd 赋予一个新值,即 weekEnd + 7 天。我已经完成了如下操作,但我无法将新值分配给 weekEnd,因为右侧返回的是数字而不是日期。

this.weekEnd = this.weekEnd.setDate(this.weekEnd.getDate() + 7);

如果你们知道我该怎么做,我将不胜感激。非常感谢!

【问题讨论】:

  • 这个 currentDate 和 end 代表什么?你能显示完整的代码¿?

标签: javascript angular date


【解决方案1】:

只需使用.setDate() 方法而不进行赋值:

this.weekEnd.setDate(this.weekEnd.getDate() + 7);

.setDate() 做了两件事:

  1. 它将当前的 Date 对象更改为新的日期。
  2. 返回自 1970 年 1 月 1 日以来该新日期的毫秒数。

在您的代码中,您将此数字分配给了无论如何都会保存正确日期的变量。

【讨论】:

  • 当然,你是对的!谢谢你提到它。两者都非常短,以至于我把它们混在一起了。 :D。更正了我的答案。
【解决方案2】:

试试这个。它将在 6 月 15 日和 6 月 21 日返回。如果您删除 +1,那么它将从星期日开始。要从星期一开始,您必须添加 1。

let current = new Date;
let firstday = new Date(current.setDate(current.getDate() - current.getDay()+1));
let lastday = new Date(current.setDate(current.getDate() - current.getDay()+7));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-26
    • 2021-01-24
    • 2012-02-25
    • 1970-01-01
    • 2019-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多