Bonjour, je dois mettre en œuvre la date de fin ne peut pas être plus d'un an à partir de la date de début à l'aide de ReactJS. Les dates sont entrées en tant que zone de texte, masquées à la date. Voici le code pour accepter les dates de début et de fin de l'UI P>
3 Réponses :
Vous pouvez utiliser le Moment bibliothèque pour faciliter les choses.
Mais dans JavaScript uni, si vous pouvez réussir à obtenir une date code> objet code> à partir de vos deux fichiers texte: où datefromobj code> et DateToobj code> sont les objets code> les objets code> que j'ai mentionnés ci-dessus. p> p>
Vous pouvez utiliser getroDear (), getmonth () et getDate () méthodes d'objet de date. Ou simplement calculer la distance entre deux dates à l'aide de "-" Opérateur "
const [startDate, setStartDate] = useState("");
const [endDate, setEndDate] = useState("");
const endDateChange = (evt) => {
const _date = new Date(evt.target.value);
const _startDate = new Date(startDate);
// or try your date conversion
const diffTime = Math.abs(_date - _startDate);
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
if (diffDays > 365) {
console.log ("more than 1 year");
// set manually limit date string
_startDate.setFullYear(_startDate.getFullYear() + 1);
// assume you converted date to string named strLimitDate
setEndDate(strLimitDate);
} else {
setEndDate(evt.target.value);
}
}
return(
<TextField... value={startDate} onChange={startDateChange} />
<TextField ... value={endDate} onChange={endDateChange} />
)
Enfin, j'ai utilisé
moment(endDate).diff(startdate, 'years',true) > 1
Quel format sont-ils entrés? jj / mm / aaaa?
Le format d'entrée est "mm / j / jayy"