"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo convertir cadenas en objetos de fecha en JavaScript de manera confiable?

¿Cómo puedo convertir cadenas en objetos de fecha en JavaScript de manera confiable?

Publicado el 2024-12-22
Navegar:370

How Can I Convert Strings to Date Objects in JavaScript Reliably?

Conversión de cadenas en objetos de fecha en JavaScript

Muchos escenarios en el desarrollo de software implican trabajar con fechas y horas. En JavaScript, al crear fechas, a menudo es necesario convertir una cadena que representa una fecha en un objeto Date. A continuación se muestra cómo lograr esta conversión:

El enfoque recomendado para el análisis de cadenas es utilizar el formato ISO junto con el constructor del objeto Fecha. Por ejemplo:

var st = "2023-05-09";
var dt = new Date();
var dt_st = new Date(st); // dt_st is a Date object in the same format as dt.

Sin embargo, usar simplemente el formato ISO es insuficiente para un análisis confiable. Las cadenas pueden interpretarse como UTC o hora local (según las variaciones del navegador). Para garantizar la coherencia, es recomendable almacenar las fechas en UTC y realizar cálculos también en ese formato.

Para analizar fechas como UTC, agregue una "Z" a la cadena. Por ejemplo: nueva Fecha('2021-04-11T10:20:30Z')

Para mostrar la fecha en hora local, use .toUTCString(), mientras que .toString() se puede usar para mostrar la fecha en UTC.

Para compatibilidad con versiones anteriores de Internet Explorer (menos de 9), considere dividir la cadena de fecha y hora en componentes e inicializar el objeto Fecha con esas partes. Por ejemplo:

new Date('2011', '04' - 1, '11', '11', '51', '00') 
// Note: the month value must be 1 less than the actual month index (0-based).

Otra opción es usar bibliotecas como Moment.js, que ofrecen funciones como análisis de fechas con especificación de zona horaria.

Último tutorial Más>

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