0
votes

Besoin d'implémenter deddate ne peut pas être plus d'un an à partir de StartDate avec ReactJS

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


2 commentaires

Quel format sont-ils entrés? jj / mm / aaaa?


Le format d'entrée est "mm / j / jayy"


3 Réponses :


0
votes

Vous pouvez utiliser le Moment bibliothèque pour faciliter les choses. Mais dans JavaScript uni, si vous pouvez réussir à obtenir une date objet à partir de vos deux fichiers texte: xxx

datefromobj et DateToobj sont les objets les objets que j'ai mentionnés ci-dessus.


0 commentaires

0
votes

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} />
)


0 commentaires

0
votes

Enfin, j'ai utilisé

moment(endDate).diff(startdate, 'years',true) > 1


0 commentaires