[Addendum 12/2022]: Voici une bibliothèque pour formater les dates en utilisant Intl.DateTimeFormat
.
[Addendum 01/2024]: Et voici une bibliothèque de manipulation de dates (ES-)
Essayez quelque chose comme ceci
var d = new Date,
dformat = [d.getMonth()+1,
d.getDate(),
d.getFullYear()].join('/')+' '+
[d.getHours(),
d.getMinutes(),
d.getSeconds()].join(':');
Si vous voulez des zéros initiaux pour les valeurs < 10, utilisez cette extension de nombre
Number.prototype.padLeft = function(base,chr){
var len = (String(base || 10).length - String(this).length)+1;
return len > 0? new Array(len).join(chr || '0')+this : this;
}
// utilisation
//=> 3..padLeft() => '03'
//=> 3..padLeft(100,'-') => '--3'
Appliqué au code précédent:
var d = new Date,
dformat = [(d.getMonth()+1).padLeft(),
d.getDate().padLeft(),
d.getFullYear()].join('/') +' ' +
[d.getHours().padLeft(),
d.getMinutes().padLeft(),
d.getSeconds().padLeft()].join(':');
//=> dformat => '05/17/2012 10:52:21'
Voir ce code dans [jsfiddle][1]
[edit 2019] En utilisant ES20xx, vous pouvez utiliser un modèle littéral et la nouvelle extension de chaîne padStart
.
const dt = new Date();
const padL = (nr, len = 2, chr = `0`) => `${nr}`.padStart(2, chr);
console.log(`${
padL(dt.getMonth()+1)}/${
padL(dt.getDate())}/${
dt.getFullYear()} ${
padL(dt.getHours())}:${
padL(dt.getMinutes())}:${
padL(dt.getSeconds())}`
);