250 votes

Comment utiliser .toLocaleTimeString() sans afficher les secondes ?

J'essaie actuellement d'afficher l'heure de l'utilisateur sans afficher les secondes. Existe-t-il un moyen d'y parvenir en utilisant la fonction .toLocaleTimeString() de Javascript ?

Faire quelque chose comme ça :

var date = new Date();
var string = date.toLocaleTimeString();

affichera l'heure de l'utilisateur avec chaque unité, par exemple, il affiche actuellement 3:39:15 PM. Puis-je afficher la même chaîne, mais sans les secondes (par exemple 3:39 PM) ?

444voto

CJLopez Points 2511

Vous pouvez toujours définir les options, sur la base de ce qui suit page vous pouvez définir, pour vous débarrasser des secondes, quelque chose comme ceci

var dateWithouthSecond = new Date();
dateWithouthSecond.toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'});

Pris en charge par Firefox, Chrome, IE9+ et Opera. Essayez-le sur la console de votre navigateur web.

40voto

drchuck Points 71

Je voulais qu'il y ait la date et l'heure mais pas les secondes, alors j'ai utilisé ceci :

var dateWithoutSecond = new Date();
dateWithoutSecond.toLocaleTimeString([], {year: 'numeric', month: 'numeric', day: 'numeric', hour: '2-digit', minute: '2-digit'});

Il a produit le résultat suivant :

29/07/2020, 14H46

Ce qui était exactement la chose dont j'avais besoin. Ça a marché dans FireFox.

32voto

Cela fonctionne pour moi :

var date = new Date();
var string = date.toLocaleTimeString([], {timeStyle: 'short'});

11voto

RobG Points 41170

La valeur renvoyée par Date.prototype.toLocaleString dépend de l'implémentation, donc vous obtenez ce que vous obtenez. Vous pouvez essayer d'analyser la chaîne de caractères pour supprimer les secondes, mais cela peut être différent dans les différents navigateurs et vous devrez tenir compte de chaque navigateur utilisé.

Il n'est pas difficile de créer son propre format, sans ambiguïté, en utilisant les méthodes de Date. Par exemple :

function formatTimeHHMMA(d) {
  function z(n){return (n<10?'0':'')+n}
  var h = d.getHours();
  return (h%12 || 12) + ':' + z(d.getMinutes()) + ' ' + (h<12? 'AM' :'PM');
}

10voto

Mickael Austoni Points 109

Avec des locaux :

var date = new Date();
date.toLocaleTimeString('fr-FR', {hour: '2-digit', minute: '2-digit'})

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