Hvordan kan jeg formatere et JavaScript-dato-objekt slik at det skrives ut som "10-Aug-2010"?
Oppmerksomhet: Det finnes bedre svar nedenfor. Dette svaret ble skrevet i 2010, og det har kommet nyere og bedre løsninger siden den gang. OP bør godta et annet svar.
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
Du kan redigere arrayet monthNames
for å bruke Jan, Feb, Mar, etc..
Bruk date.format library:
var dateFormat = require('dateformat');
var now = new Date();
dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT");
returnerer:
Saturday, June 9th, 2007, 5:46:21 PM
Jeg tror du bare kan bruke ikke-standard Date-metoden toLocaleFormat(formatString)
.
formatString: En formatstreng i samme format som forventes av strftime()
-funksjonen i C.
var today = new Date();
today.toLocaleFormat('%d-%b-%Y'); // 30-Dec-2011
References: