0
votes

La date de chèque est expirée ou non au format de la date du moment

J'ai un format de date comme celui-ci xxx

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,

si cette date a expiré, je dois utiliser la date suivante.

Je veux mettre en œuvre cela sur le moment.

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


0 commentaires

4 Réponses :


0
votes

Essayez ceci xxx

Vous pouvez le voir ici


4 commentaires

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")))))))))))))))))))



0
votes

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"]))));
}


0 commentaires

0
votes
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

0 commentaires

0
votes

Eh bien, je ne sais pas sur moment code> mais cela pourrait facilement être fait, JS.

p>

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])


0 commentaires