Funciones de análisis de fechas de Safari
¿Por qué Safari arroja un error de "fecha no válida" cuando encuentra fechas en formatos como '2010-11-29? ', mientras que otros navegadores manejan estas fechas sin problemas? Este comportamiento inconsistente puede resultar frustrante para los desarrolladores web.
La raíz del problema radica en la interpretación que hace Safari de los guiones (-) en las cadenas de fecha. Si bien la mayoría de los navegadores reconocen los guiones como separadores de fechas, Safari los trata por error como parte de la fecha misma, lo que genera cálculos de fecha incorrectos.
Para ilustrar, pruebe los siguientes intentos de análisis de cadenas:
alert(new Date('2010-29-11')); // Doesn't work in Safari alert(new Date('29-11-2010')); // Doesn't work in Safari alert(new Date('11-29-2010')); // Doesn't work in Safari
Como puede ver, Safari no puede analizar estas fechas correctamente, independientemente del orden de los componentes.
Mientras utiliza una biblioteca separada como Moment.js o date-fns podría ser una opción para aliviar este problema; hay disponible una solución más sencilla. Simplemente reemplazando los guiones con barras (/), Safari puede interpretar correctamente la cadena de fecha:
console.log(new Date('2011-04-12'.replace(/-/g, "/")));
Esta solución de una línea garantiza que Safari pueda analizar fechas en el formato esperado, lo que permite que las aplicaciones web muestren y manipulen fechas de manera consistente en varios navegadores.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3