¿Cómo puedo obtener una fecha con el formato aaaa-mm-dd a partir de una fecha ISO 8601 ?
Mi fecha 8601 es
2013-03-10T02:00:00Z
¿Cómo puedo conseguir lo siguiente?
2013-03-10
javascript
date
neeraj
fuente
fuente
date.split("T")[0]
haríaRespuestas:
Prueba esto
Actualizar:-
Como se señaló en los comentarios, estoy actualizando la respuesta para imprimir ceros a la izquierda para la fecha y el mes si es necesario.
fuente
Solo recorta la cuerda:
O si solo necesita una fecha fuera de la cadena.
fuente
YYYYY-MM-DD
en el año 10000. Para evitar esto, podría dividir en elT
personaje en su lugar. (Ver en.wikipedia.org/wiki/Year_10,000_problem )Puede consultar Moment.js , Luxon , date- fns o Day.js para una buena manipulación de la fecha.
O simplemente extraiga la primera parte de su cadena ISO, ya contiene lo que desea. Aquí hay un ejemplo dividiendo en
T
:fuente
Moment.js se encargará del formato de fecha por usted. A continuación, se explica cómo incluirlo a través de una etiqueta de JavaScript y, a continuación, se muestra un ejemplo de cómo usar Moment.js para formatear una fecha.
fuente
moment
es una biblioteca bastante grande para usar solo para formatear. En su lugar, use date-fns, que es mucho más pequeño y ofrece la misma funcionalidad..toISODateString()
, porque es un caso muy frecuente ...Esto es lo que hago solo para tener una cita:
fuente
Moment.js es una biblioteca bastante grande para usar en un solo caso de uso. Recomiendo usar en su
date-fns
lugar. Ofrece básicamente la mayor funcionalidad de Moment.js con un tamaño de paquete mucho más pequeño y muchosformatting options
.Una cosa a tener en cuenta es que, dado que es el formato de hora ISO 8601 , el navegador generalmente convierte de la hora UTC a la zona horaria local. Aunque este es un caso de uso simple en el que probablemente pueda hacerlo
'2013-03-10T02:00:00Z'.substring(0, 10);
.Para conversiones más complejas
date-fns
es el camino a seguir.fuente
fuente
Utilizar:
fuente
Esto generará la fecha en formato AAAA-MM-DD:
fuente
Pase su fecha en el objeto de fecha:
fuente
Para todos los que estén usando split, slice y otros intentos basados en cadenas para obtener la fecha, ¡pueden configurarse para fallas relacionadas con la zona horaria!
Un ISO-String tiene Zulu-Timezone y una fecha de acuerdo con esta zona horaria, lo que significa que podría usar una fecha un día antes o después de la zona horaria real, que debe tener en cuenta en su cadena de transformación.
Vea este ejemplo:
fuente
Si tiene un objeto de fecha:
o
fuente
Para ampliar la solución de rk rk : en caso de que desee que el formato incluya la hora, puede agregar el
toTimeString()
a su cadena y luego quitar la parte GMT, de la siguiente manera:fuente
Usé esto:
Fuente: http://gooplus.fr/en/2017/07/13/angular2-typescript-isodate-to-html-date/
fuente
fuente
fuente
Una mejor versión de la respuesta de @Hozefa .
Si lo ha
date-fns
instalado, puede usar la función formatISOfuente
Utilice el siguiente código. Es útil para ti.
fuente