J'ai une chaîne en tant que Mon 03-Jul-2017, 11:00 AM/PM
et je dois la convertir en une chaîne comme 11:00 AM/PM
en utilisant le moment js.
Le problème ici est que je ne parviens pas à obtenir AM
ou PM
à partir de la chaîne de date/heure.
Je fais ça:
moment(Mon 03-Jul-2017, 11:00 AM, 'dd-mm-yyyy hh:mm').format('hh:mm A')
et cela fonctionne bien car j'obtiens 11:00 AM
mais si la chaîne contient PM
, elle donne toujours AM
dans la sortie.
comme ceci moment(Mon 03-Jul-2017, 11:00 PM, 'dd-mm-yyyy hh:mm').format('hh:mm A')
donne également 11:00 AM
en sortie au lieu de 11:00 PM
Vous utilisez des jetons de format incorrect lors de l'analyse de votre entrée. Vous devez utiliser ddd
pour une abréviation du nom du jour de la semaine, DD
pour le jour du mois, MMM
pour une abréviation du nom du mois, YYYY
pour l'année, hh
pour le 1-12
heure, mm
pour les minutes et A
pour AM/PM
. Voir moment(String, String)
docs.
Voici un échantillon live de travail:
console.log( moment('Mon 03-Jul-2017, 11:00 AM', 'ddd DD-MMM-YYYY, hh:mm A').format('hh:mm A') );
console.log( moment('Mon 03-Jul-2017, 11:00 PM', 'ddd DD-MMM-YYYY, hh:mm A').format('hh:mm A') );
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>