87 votes

Javascript : affiche la date et l'heure actuelle au format AAAA/mm/jj hh:m:sec

Je dois afficher la date et l'heure UTC actuelle sous forme de chaîne au format suivant : YYYY/mm/dd hh:m:sec

Comment y parvenir avec Javascript ?

111voto

Joseph Marikle Points 25280

Vous pouvez le construire manuellement :

 var m = new Date();
var dateString = m.getUTCFullYear() +"/"+ (m.getUTCMonth()+1) +"/"+ m.getUTCDate() + " " + m.getUTCHours() + ":" + m.getUTCMinutes() + ":" + m.getUTCSeconds();

et pour forcer deux chiffres sur les valeurs qui le nécessitent, vous pouvez utiliser quelque chose comme ceci :

 ("0000" + 5).slice(-2)

Ce qui ressemblerait à ceci :

 var m = new Date();
var dateString =
    m.getUTCFullYear() + "/" +
    ("0" + (m.getUTCMonth()+1)).slice(-2) + "/" +
    ("0" + m.getUTCDate()).slice(-2) + " " +
    ("0" + m.getUTCHours()).slice(-2) + ":" +
    ("0" + m.getUTCMinutes()).slice(-2) + ":" +
    ("0" + m.getUTCSeconds()).slice(-2);

console.log(dateString);

56voto

MarredCheese Points 2206

Pas de bibliothèque, une ligne, correctement rembourrée

 const str = (new Date()).toISOString().slice(0, 19).replace(/-/g, "/").replace("T", " ");

Il utilise la fonction intégrée Date.toISOString() , coupe les ms, remplace les tirets par des barres obliques et remplace le T par un espace pour aller de '2019-01-05T09:01:07.123' à '2019/01/05 09:01:07' .

Heure locale au lieu de UTC

 const now = new Date();
const offsetMs = now.getTimezoneOffset() * 60 * 1000;
const dateLocal = new Date(now.getTime() - offsetMs);
const str = dateLocal.toISOString().slice(0, 19).replace(/-/g, "/").replace("T", " ");

15voto

user3452845 Points 149

Avec le format de date jQuery :

 $.format.date(new Date(), 'yyyy/MM/dd HH:mm:ss');

https://github.com/phstc/jquery-dateFormat

Prendre plaisir

2voto

sean1093 Points 91

J'ai écrit une bibliothèque simple pour manipuler l'objet date JavaScript. Tu peux essayer ceci :

 var dateString = timeSolver.getString(new Date(), "YYYY/MM/DD HH:MM:SS.SSS")

Bibliothèque ici : https://github.com/sean1093/timeSolver

1voto

dgvid Points 10847

Pas testé, mais quelque chose comme ça :

 var now = new Date();
var str = now.getUTCFullYear().toString() + "/" +
          (now.getUTCMonth() + 1).toString() +
          "/" + now.getUTCDate() + " " + now.getUTCHours() +
          ":" + now.getUTCMinutes() + ":" + now.getUTCSeconds();

Bien sûr, vous devrez compléter les heures, les minutes et les secondes à deux chiffres ou vous obtiendrez parfois des heures étranges comme "2011/12/2 19:2:8".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X