¿Obtener cadena en formato AAAAMMDD del objeto de fecha JS?

Resuelto IVR Avenger asked hace 14 años • 53 respuestas

Estoy intentando usar JS para convertir un formato date objecten una cadena YYYYMMDD. ¿Existe una forma más sencilla que concatenar Date.getYear(), Date.getMonth()y Date.getDay()?

IVR Avenger avatar Jun 18 '10 07:06 IVR Avenger
Aceptado

Pieza de código modificada que uso a menudo:

Date.prototype.yyyymmdd = function() {
  var mm = this.getMonth() + 1; // getMonth() is zero-based
  var dd = this.getDate();

  return [this.getFullYear(),
          (mm>9 ? '' : '0') + mm,
          (dd>9 ? '' : '0') + dd
         ].join('');
};

var date = new Date();
date.yyyymmdd();
o-o avatar Jun 18 '2010 07:06 o-o

No me gustó agregar nada al prototipo. Una alternativa sería:

var rightNow = new Date();
var res = rightNow.toISOString().slice(0,10).replace(/-/g,"");

<!-- Next line is for code snippet output only -->
document.body.innerHTML += res;
Expandir fragmento

Pierre Guilbert avatar May 23 '2013 13:05 Pierre Guilbert

Puedes usar la toISOStringfunción:

var today = new Date();
today.toISOString().substring(0, 10);

Le dará un formato "aaaa-mm-dd".

Ramzi SAYAGH avatar Feb 10 '2015 12:02 Ramzi SAYAGH

Moment.js podría ser tu amigo

var date = new Date();
var formattedDate = moment(date).format('YYYYMMDD');
H6_ avatar Aug 19 '2015 14:08 H6_