#mysql #sequelize.js #momentjs
#mysql #sequelize.js #момент.
Вопрос:
я получаю x количество дат из своей базы данных mysql, затем передаю их в качестве параметра в функции momentjs moment() и хочу сравнить только месяц и день года, но я не знаю, как отформатировать momentjs и сравнить его с моей текущей датой. это мой код :
этот код не работает, если бы вы могли мне помочь
earnings:async function(req,res){ var earnings = { daysGain:0, //ganacia del dia grossProfit:0, //ganacia bruta netProfit:0, //ganancia neta } var user = req.user; if(user){ const payments = await Payment.findAll().catch( err =gt;{ return res.status(500).send({err:err}) }) if(payments amp;amp; payments.length gt; 0){ let now = moment(); payments.forEach( pay =gt; { if( moment(pay.createdAt).isSame(now).format('YY/MM/DD')) }); console.log(now,"now"); } }else return res.status(403).send({message:"you are not logged in "}); }
когда даты совпадают с моим текущим днем, я хочу добавить определенное значение в свой объект оплаты
примечание : я использую sequelize orm, который автоматически генерирует colum cratedAt и обновляет его
Комментарии:
1. черт возьми, пожалуйста.
Ответ №1:
Возможно, вы захотите использовать правильное форматирование в моментах по умолчанию, чтобы добиться того же самого. Вот пример фрагмента кода для вашей справки
const dates = ["21/03/2021", "15/09/2021", "10/12/2021"]; dates.forEach((date) =gt; { const current = moment().format("DD/MM/YYYY"); if (moment(date).isSame(current)) console.log("Matched Date", date); });
lt;script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"gt;lt;/scriptgt;