Formatear la fecha de JavaScript como aaaa-mm-dd

Resuelto user3625547 asked hace 10 años • 54 respuestas

Tengo una cita con el formato Sun May 11,2014. ¿ Cómo puedo convertirlo para 2014-05-11usar 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));
Expandir fragmento

El código anterior me da el mismo formato de fecha sun may 11,2014. ¿Cómo puedo arreglar esto?

user3625547 avatar May 11 '14 20:05 user3625547
Aceptado

Simplemente aproveche el método integrado toISOStringque lleva su fecha al formato ISO 8601:

let yourDate = new Date()
yourDate.toISOString().split('T')[0]

Donde yourDate es su objeto de fecha.

Editar : @exbuddha escribió esto para manejar la zona horaria en los comentarios :

const offset = yourDate.getTimezoneOffset()
yourDate = new Date(yourDate.getTime() - (offset*60*1000))
return yourDate.toISOString().split('T')[0]
Darth Egregious avatar Apr 21 '2015 13:04 Darth Egregious

Tu puedes hacer:

function formatDate(date) {
    var d = new Date(date),
        month = '' + (d.getMonth() + 1),
        day = '' + d.getDate(),
        year = d.getFullYear();

    if (month.length < 2) 
        month = '0' + month;
    if (day.length < 2) 
        day = '0' + day;

    return [year, month, day].join('-');
}
 
console.log(formatDate('Sun May 11,2014'));
Expandir fragmento

Ejemplo de uso:

console.log(formatDate('Sun May 11,2014'));

Producción:

2014-05-11

Demostración en JSFiddle: http://jsfiddle.net/abdulrauf6182012/2Frm3/

user3470953 avatar May 11 '2014 13:05 user3470953

Utilizo esta forma para obtener la fecha en formato aaaa-mm-dd :)

var todayDate = new Date().toISOString().slice(0, 10);
console.log(todayDate);
Expandir fragmento

Mitch3091 avatar Jul 01 '2016 15:07 Mitch3091