J'ai un format de date comme celui-ci maintenant, je dois vérifier si ma date est inférieure à la première valeur du tableau d'objets. Si moins je dois choisir premier objet, p> si cette date a expiré, je dois utiliser la date suivante. P> Je veux mettre en œuvre cela sur le moment. P> Je connais la soustraction du moment, mais cela ne résout pas mon objectif. Tout le monde peut me guider comment résoudre ce problème. Toute aide est vraiment appréciée p> p>
4 Réponses :
Essayez ceci Vous pouvez le voir ici p> p>
J'ai eu l'erreur I.e avertissement de dépréciation: la valeur fournie n'est pas dans un format RFC2822 ou ISO reconnu. Moment Construction retourne à la date de JS (), qui n'est pas fiable sur tous les navigateurs et toutes les versions. Les formats de date non RFC2822 / ISO sont découragés et seront supprimés dans une prochaine version majeure. Veuillez vous reporter à Momentjs.com/guides/#/warnings/js-date Pour plus d'informations. Arguments: [0] _isamomentObject: True, _isutc: faux, _USUTC: faux, _L: non défini, _i: 28-février 19, _f: non défini, _strict: non défini, _Locale: [Objet d'objet]
Peut-être que vous utilisez un mauvais moment JS Version. Regardez sur ce jsfiddle.net/4ePXFMT6
Cher je suis sur le nœud. Je ne sais pas pourquoi cela génère une erreur. J'ai vérifié c'est son bon travail Jsfiddle
Comment si vous changez de moment (). ISAFTER (moment (un [i] .exp_date))) au moment-là (). ISAFTER (moment (un [i] .exp_date, "dd-mmm-yy")))))))))))))))))))
Vous pouvez faire cette vérification dans une boucle:
var array = [{"exp_date":"28-Feb-19"},{"exp_date":"10-Feb-19"}]; for(i=0;i<array.length;i++){ console.log(moment(new Date()).isAfter(moment(new Date(array[i]["exp_date"])))); }
const a = [{ "Exp_Date": "28-Feb-19" }, { "Exp_Date": "30-Apr-19" }, { "Exp_Date": "28-Jun-19" }, { "Exp_Date": "29-Nov-19" }]; let i = 0; while (a[i] && moment().isAfter(moment(a[i].Exp_Date),'DD-MMM-YY')) { // <-- change this i++; } if (a[i]) { return a[i]; } else { return null; } updated answer of Nguyen
Eh bien, je ne sais pas sur p> moment code> mais cela pourrait facilement être fait, JS.
var dates =[{"Exp_Date":"28-Feb-19"},{"Exp_Date":"30-Apr-19"},{"Exp_Date":"28-Jun-19"},{"Exp_Date":"29-Nov-19"}]
var d = new Date("01-march-19");
// sort the array first, this is optional, then find the current Exp_Date Index
var index = dates
.sort((a,b)=> new Date(a.Exp_Date) - new Date(b.Exp_Date))
.findIndex((item)=> new Date(item.Exp_Date) >= d);
console.log(dates[index])