J'ai une sortie résultant d'un timepicker donnant le format 12 heures.
Eg : "1:45 AM (or) "12:15 PM" as **string**
Existe-t-il un moyen d’analyser ce format de chaîne sur 24 heures en utilisant le moment js back to date?
Voir la documentation de moment js parse
function
var dt = moment("12:15 AM", ["h:mm A"]).format("HH:mm");
Je sais que cette réponse n’est pas de la question (en fait, c’est le cas contraire), mais je vais la poser pour la compléter et si quelqu'un (comme moi) la cherchait.
Si vous voulez convertir le 24 Hour system
à 12 Hour system
alors vous pouvez utiliser ce qui suit
return moment("13", ["HH"]).format("hh A");
le code précédent produira le résultat 1 PM
Dans le calendrier complet pour afficher l'heure au format 12 heures comme 01:00 PM j'ai utilisé le format suivant - timeFormat: 'hh: mm A'. "TimeFormat" est la propriété des événements de fullcalender.
Même format 'hh: mm A', nous pouvons utiliser pour formater un objet datetime en utilisant momentjs.
var today = new Date();
let options = {
hour: "2-digit", minute: "2-digit"
};
console.log(today.toLocaleTimeString("en-us", options));
moment("145","hmm").format("HH:mm");
cela donnerait 01:45
/ * * Terminez la fonction timeConversion ci-dessous. * /
function timeConversion(s) {
let time = s.split(':')
var min = time[1]
if (s.match('PM')) {
var hour = 12 + parseInt(time[0], 10)
hour = hour == 24 ? 12 : hour;
var sec = time[2].replace('PM', '')
} else {
var hour = time[0]==12?'00':time[0]
var sec = time[2].replace('AM', '')
}
if (hour < 10) hour = hour;
let newTime = hour + ':' + min + ':' + sec
return newTime
}