Estoy tratando de guardar las fechas ingresadas por el usuario en el almacenamiento local y mostrarlas la próxima vez que el usuario visite el sitio web. Estoy usando una biblioteca de selección de fecha y hora llamada Flatpickr.
Aquí está el problema: cuando elijo las fechas y las guardo en el almacenamiento local, las fechas cambian cuando vuelvo a cargar o cierro/reabro la página. Por ejemplo, si elijo 2022-05-02 como mi fecha de inicio, se convierte en 2022-05-01 cuando actualizo la página (lo mismo sucede con la fecha de finalización).
Este es el código para el componente del selector de fechas (estoy usando un generador de páginas llamado Creative Tim que se basa en Material UI):
<MDDatePicker value={minDate} defaultValue={minDate?.toString()} options={{ maxDate: maxDate ?? new Date(), allowInput: true }} input={{ placeholder: "Select a start date", endAdornment: ( <InputAdornment position="end"> <IconButton size="small" aria-label="close" color={textColor} onClick={resetImportFromDate}> <Icon fontSize="small">clear</Icon> </IconButton> </InputAdornment> ), }} onChange={fromDateChange} /> Aquí está la función fromDateChange :
const fromDateChange = (date) => { setMinDate(new Date(date)); LocalDataStore.set("minDate", date); }; Y aquí está el método de set estático definido en la clase LocalDataStore :
static set(key, value) { let type = typeof value; if (value && type !== "undefined") { if (type === "object") value = JSON.stringify(value); localStorage.setItem(key, crypto.AES.encrypt(value.toString(), key).toString()); } }