Как мне получить дату первого дня недели и дату последнего дня недели с помощью Moment.js?
Мне нужно получить дату с первого дня недели до даты последнего дня текущей недели, которую я основываю на текущем дне.
Я прочитал документацию https://momentjs.com/docs/ и обнаружил будний день ( ) , но мне нужно получить первый день недели и последний день недели на основе текущей даты, как мне это сделать с помощью Moment?
Мне это нужно, чтобы фильтровать данные Observable по периоду: месяц, неделя ...
var start_date = moment(this.start_date, 'DD/MM/YYYY').format('YYYY-MM-DD')
var final_date = moment(this.final_date, 'DD/MM/YYYY').format('YYYY-MM-DD')
this.transacoesList = this.transacoesList
.filter((v) => {
var release_date = moment(v.release_date, 'DD-MM-YYYY').format('YYYY-MM-DD');
if (moment(release_date).isBetween(start_date, final_date, null, '[]')) {
return true;
}
});
2 ответа
Ты на правильном пути. Функцию weekday
можно использовать для получения понедельника и пятницы текущей недели.
var now = moment();
var monday = now.clone().weekday(1);
var friday = now.clone().weekday(5);
var isNowWeekday = now.isBetween(monday, friday, null, '[]');
console.log(`now: ${now}`);
console.log(`monday: ${monday}`);
console.log(`friday: ${friday}`);
console.log(`is now between monday and friday: ${isNowWeekday}`);
Прямая ссылка на документы Moment.js по функции weekday
здесь: https: //momentjs.com/docs/#/get-set/weekday/
Функция дня недели Moment возвращает 0, если день является первым днем недели для вашего региона. Следовательно, если день недели для сегодняшней даты равен 0, вы уже находитесь в первом дне этой недели. Если это не 0, просто вычтите это количество дней (у Moment есть функции для добавления и вычитания дней из даты) из текущей даты, и тогда у вас будет первый день недели.
Как только у вас будет первый день недели, добавьте к нему 6 дней, и у вас будет последний день недели.
Похожие вопросы
Новые вопросы
angular
Вопросы по Angular (не путать с AngularJS), веб-фреймворку от Google. Используйте этот тег для угловых вопросов, которые не относятся к конкретной версии. Для более старой веб-платформы AngularJS (1.x) используйте тег angularjs.