¿Cómo puedo formatear un objeto de fecha de JavaScript para que se imprima como 10-Ago-2010
?
Atención: Hay mejores respuestas a continuación. Esta respuesta fue escrita en 2010 y desde entonces han llegado soluciones más nuevas y mejores. El OP debería aceptar otra respuesta.
function formatDate(date) {
var monthNames = [
"January", "February", "March",
"April", "May", "June", "July",
"August", "September", "October",
"November", "December"
];
var day = date.getDate();
var monthIndex = date.getMonth();
var year = date.getFullYear();
return day + ' ' + monthNames[monthIndex] + ' ' + year;
}
console.log(formatDate(new Date())); // show current date-time in console
Puedes editar el array monthNames
para usar Jan, Feb, Mar, etc..
Utilice la biblioteca date.format:
var dateFormat = require('dateformat');
var now = new Date();
dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT");
devuelve:
Saturday, June 9th, 2007, 5:46:21 PM
Creo que puedes utilizar el método de fecha no estándar toLocaleFormat(formatString)
.
FormatString: Una cadena de formato en el mismo formato esperado por la función strftime()
en C.
var today = new Date();
today.toLocaleFormat('%d-%b-%Y'); // 30-Dec-2011
Referencias: