Как вернуть формат даты, когда я использую setDate () - PullRequest
0 голосов
/ 20 июня 2020

Я назначил weekEnd текущим концом недели, вот так

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

Далее я хочу дать новое значение для weekEnd, которое является weekEnd + 7 days. Я сделал это, как показано ниже, но я не могу назначить новое значение для weekEnd, потому что правая сторона возвращает число, а не дату.

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

Если вы, ребята, знаете, как я могу это сделать Я был бы очень благодарен. Большое спасибо!

Ответы [ 2 ]

2 голосов
/ 20 июня 2020

Просто используйте метод .setDate() без присваивания:

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

.setDate() выполняет две вещи:

  1. Он изменяет текущий объект Date на новую дату.
  2. Возвращает количество миллисекунд этой новой даты с 1 января 1970 года.

В вашем коде вы присвоили это число переменной, которая в любом случае содержала бы правильную дату.

0 голосов
/ 20 июня 2020

Попробуйте это. Он вернется 15 и 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));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...