Как вычесть день из строки в машинописном тексте?

Мне нужна помощь, чтобы вычесть один день из 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;
    }

можете поделиться образцом строки даты?

Ankur 30.05.2018 14:35
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
179
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Установите дату вычитания на дату Объект

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 ожидает дату в формате ММ ДД ГГГГ или ГГГГ ММ ДД для манипуляций. Поэтому укажите дату в аналогичном формате или воспользуйтесь решением, предложенным Ашишем Ранджаном.

Другие вопросы по теме