@softshape

Как получить предыдущую дату с moment.js?

Пытаюсь с помощью moment.js получить дату вида "предыдущее 1е августа". Но там нет функций типа "previous". Кто работал с moment.js, какой самый прямой способ там сделать это?
  • Вопрос задан
  • 406 просмотров
Решения вопроса 1
moment().add(-1, 'day').format(...)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
moment не пользуюсь, поэтому на чистом JS можно создать дату на сейчас, установить ей нужные день и месяц (1 августа).
Если дата получилась больше, чем сейчас, надо отнять 1 год:
var D = new Date();
D.setDate(1);
D.setMonth(7);   // 0: Янв, 1: Фев, ... 7: Август
  D.setHours(12);  // опционально
  D.setMinutes(0); // опционально
  D.setSeconds(0); // опционально
if(D.getTime() > new Date().getTime()) D.setFullYear( D.getFullYear() - 1);

D.toString() // Tue Aug 01 2017 12:00:00 GMT+0300 (MSK)

// и можно из Даты создать объект moment:
var m = moment(D);


Наверняка, точно такой же фокус можно провести и с объектом самого moment.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы