web-dev-qa-db-fra.com

Convertir HH: mm en Moment.js

J'ai donc des données temporelles telles que:

10:45 PM
11:35 PM
12:06 AM
01:34 AM

Toutes ces heures sont en America/Los_Angeles et il est garanti que chaque fois après le 09:00 PM aujourd’hui dans ce fuseau horaire. Ainsi, les heures passées à minuit ont lieu demain.

Existe-t-il un moyen élégant de convertir ces heures du format actuel en objets moment.js avec les heures épinglées au jour approprié?.

14
Richard
function getMomentFromTimeString(str) {
  var t = moment(str, 'HH:mm A');
  // Now t is a moment.js object of today's date at the time given in str

  if (t.get('hour') < 22) // If it's before 9 pm
    t.add('d', 1); // Add 1 day, so that t is tomorrow's date at the same time

  return t;
}
15
Geoffrey Booth

Trouvé dans le document moment.js:

moment('10:45 PM', 'HH:mm a')

http://momentjs.com/docs/#/parsing/string-format/

9
KokaKiwi

moment ('09: 00 ',' h: mm a '). format (' h: mm a ');

5
José Farías

Vous pouvez utiliser la méthode tz():

var date = moment().tz("America/Los_Angeles").startOf('day');
date.hour(22);
date.minutes(45);

Puis convertissez-le en heure locale:

date.local().toDate();
0
Aryeh Armon