Tengo una cita con el formato Sun May 11,2014
. ¿Cómo puedo convertirlo a 2014-05-11
JavaScript?
function taskDate(dateMilli) {
var d = (new Date(dateMilli) + '').split(' ');
d[2] = d[2] + ',';
return [d[0], d[1], d[2], d[3]].join(' ');
}
var datemilli = Date.parse('Sun May 11,2014');
console.log(taskDate(datemilli));
El código anterior me da el mismo formato de fecha, sun may 11,2014
. ¿Cómo puedo arreglar esto?
javascript
date
formatting
date-format
time-format
usuario3625547
fuente
fuente
Respuestas:
Tu puedes hacer:
Ejemplo de uso:
Salida:
Demostración en JSFiddle: http://jsfiddle.net/abdulrauf6182012/2Frm3/
fuente
'use strict';
@bhspencerSimplemente aproveche el
toISOString
método incorporado que lleva su fecha al formato ISO 8601:Donde yourDate es su objeto de fecha.
Editar: un tipo escribió esto para manejar la zona horaria en los comentarios:
fuente
new Date(yourDateStr).toISOString().split('T')[0]
const offset = yourDate.getTimezoneOffset(); yourDate = new Date(yourDate.getTime() + (offset*60*1000)); yourDate.toISOString().split('T')[0]
esto debería resolver el problema de la zona horarianow.toISOString().substring(0,10);
Esta es una alternativa más limpia, ya que te recuerda queYYYY-MM-DD
son los primeros diez caracteres del formato iso completo+ (offset
a- (offset
)Utilizo esta forma para obtener la fecha en formato aaaa-mm-dd :)
fuente
var todayDate = new Date(2018, 3 - 1, 26); todayDate.toISOString().slice(0, 10);
me da"2018-03-25"
. En otro sistemavar todayDate = new Date(2018, 3 - 1, 26, 17, 0, 0); todayDate.toISOString().slice(0, 10);
me da"2018-03-27"
.La forma más sencilla de convertir su fecha al formato aaaa-mm-dd es hacer esto:
Cómo funciona:
new Date("Sun May 11,2014")
convierte la cadena"Sun May 11,2014"
en un objeto de fecha que representa la horaSun May 11 2014 00:00:00
en una zona horaria basada en la configuración regional actual (configuración del sistema host)new Date(date.getTime() - (date.getTimezoneOffset() * 60000 ))
convierte su fecha en un objeto de fecha que corresponde con la horaSun May 11 2014 00:00:00
en UTC (hora estándar) restando el desplazamiento de zona horaria.toISOString()
convierte el objeto de fecha en una cadena ISO 86012014-05-11T00:00:00.000Z
.split("T")
divide la cadena en matriz["2014-05-11", "00:00:00.000Z"]
[0]
toma el primer elemento de esa matrizManifestación
fuente
- (date.getTimezoneOffset() * 60000 )
bit debería eliminar cualquier diferencia de zona horaria, incluido el impacto del horario de verano.Resultado:
fuente
eval
.return ((v.length > 1 ? "0" : "") + z[v.slice(-1)]).slice(-2);
Una combinación de algunas de las respuestas:
fuente
toISOString()
las posibles dificultades de la zona horaria con el uso de esa función.Si no tiene nada en contra del uso de bibliotecas, puede usar la biblioteca Moments.js de esta manera:
fuente
Simplemente use esto:
Simple y dulce;)
fuente
toISOString()
asume que su fecha es la hora local y la convierte a UTC. Obtendrá una cadena de fecha incorrecta.El siguiente método debería devolver lo que necesita.
Fuente: https://blog.justin.kelly.org.au/simple-javascript-function-to-format-the-date-as-yyyy-mm-dd/
fuente
Recupere año, mes y día, y luego póngalos juntos. Recto, simple y preciso.
fuente
Puedes usar
toLocaleDateString('fr-CA')
enDate
objetoTambién descubrí que esas configuraciones regionales dan el resultado correcto de esta lista de configuraciones regionales Lista de todas las configuraciones regionales y sus códigos cortos.
Mostrar fragmento de código
fuente
Para considerar también la zona horaria, esta línea única debería ser buena sin ninguna biblioteca:
fuente
Puedes probar esto: https://www.npmjs.com/package/timesolver
Úselo en su código:
Puede obtener la cadena de fecha utilizando este método:
fuente
Ninguna de estas respuestas me satisfizo bastante. Quería una solución multiplataforma que me diera el día en la zona horaria local sin usar bibliotecas externas.
Esto es lo que se me ocurrió:
Eso debería devolver el día de la fecha, en formato AAAA-MM-DD, en la zona horaria que hace referencia la fecha.
Entonces, por ejemplo,
localDay(new Date("2017-08-24T03:29:22.099Z"))
volverá"2017-08-23"
a pesar de que ya es el 24 en UTC.Tendrá que polyfill Date.prototype.toISOString para que funcione en Internet Explorer 8, pero debe ser apoyado por todas partes.
fuente
Date.js es genial para esto.
fuente
Sugiero usar algo como formatDate-js en lugar de intentar replicarlo cada vez. Simplemente use una biblioteca que admita todas las acciones principales de strftime.
fuente
o
¡Prueba esto!
fuente
Aquí hay una forma de hacerlo:
fuente
fuente
fuente
fuente
Algunas de las respuestas anteriores estaban bien, pero no eran muy flexibles. Quería algo que realmente pudiera manejar más casos extremos, así que tomé la respuesta de @orangleliu y la amplié. https://jsfiddle.net/8904cmLd/1/
Ejemplo de uso:
fuente
Esto funcionó para mí para obtener la fecha actual en el formato deseado (AAAAMMDD HH: MM: SS):
fuente
No se necesita biblioteca
Solo JavaScript puro.
El siguiente ejemplo muestra los últimos dos meses a partir de hoy:
fuente
Formato de fecha compatible con PHP
Aquí hay una pequeña función que puede tomar los mismos parámetros que la función PHP
date()
y devolver una cadena de fecha / hora en JavaScript.Tenga en cuenta que no todas las opciones de formato date () de PHP son compatibles. Puede extender el
parts
objeto para crear el token de formato que faltaEsencia
Aquí hay un resumen con una versión actualizada de la
formatDate()
función y ejemplos adicionales: https://gist.github.com/stracker-phil/c7b68ea0b1d5bbb97af0a6a3dc66e0d9fuente
Otra combinación más de las respuestas. Muy bien legible, pero un poco largo.
fuente
Si la fecha debe ser la misma en todas las zonas horarias, por ejemplo, representa algún valor de la base de datos, asegúrese de utilizar las versiones UTC del día, mes, funciones fullear en el objeto de fecha JavaScript, ya que esto se mostrará en la hora UTC y evite errores fuera de uno en ciertas zonas horarias.
Aún mejor, use la biblioteca de fechas Moment.js para este tipo de formato.
fuente
He modificado la respuesta de Samit Satpute de la siguiente manera:
fuente
Formato y búsqueda de fecha máxima y mínima a partir de datos de hashmap:
fuente
Reformatear una cadena de fecha es bastante sencillo, p. Ej.
fuente