Мне нужна помощь, чтобы вычесть один день из endDate, но endDate - это строка.
Пробовал с этим:
moment(this.endDate).subtract(1, 'day').format()
не работает.
public ngOnChanges(): void {
const startDate = this.startDate ? moment(this.startDate).format() : moment().startOf('day').format();
const endDate = this.endDate ? moment(this.endDate).format() : moment(startDate).endOf('day').format();
this.datePicker = new DatePicker(startDate, endDate);
this.setDatePicker();
if (this.continiousDatesValue !== null) {
this.continiousDatesValueMoment = moment(this.continiousDatesValue);
}
if (this.previousDatesValue !== null) {
this.previousDatesValueMoment = moment(this.previousDatesValue);
}
}
Также здесь я должен вычесть один день из "endDate" - строки:
private onDatesChange(): void {
this.startDateChange.emit(this.datePicker.startDate);
this.endDateChange.emit(this.datePicker.endDate);
this.startEndDateChange.emit({startDate: this.datePicker.startDate, endDate: this.datePicker.endDate});
this.isOpen = false;
}



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Установите дату вычитания на дату Объект
let endDate = "2018-04-01 08:14:00";
let dateOb = new Date(endDate);
dateOb.setDate(dateOb.getDate() - 1);
console.info(dateOb);
// now you can use moment to parse to your desired format
//or
endDate = dateOb.getFullYear() + "-" + ('0' + (dateOb.getMonth() + 1)).slice(-2) + "-" + ('0' + dateOb.getDate()).slice(-2) + " " + ('0' + dateOb.getHours()).slice(-2) + ":" + ('0' + dateOb.getMinutes()).slice(-2) + ":" + ( '0' + dateOb.getSeconds()).slice(-2);
// getMonth() starts from 0.
console.info(endDate)momentjs ожидает дату в формате ММ ДД ГГГГ или ГГГГ ММ ДД для манипуляций. Поэтому укажите дату в аналогичном формате или воспользуйтесь решением, предложенным Ашишем Ранджаном.
можете поделиться образцом строки даты?