web-dev-qa-db-fra.com

Comment convertir des heures et des minutes en minutes avec moment.js?

J'ai besoin de convertir les heures et les minutes en minutes. Avec l'objet Date JavaScript pur, je fais ce qui suit:

var d = new Date();
var minutes = d.getHours() * 60 + d.getMinutes();

Je viens de passer à moment.js et je recherche une meilleure solution qui ressemble à ceci:

var minutes = moment(new Date()).toMinutes()

Est-ce qu'il y a quelque chose comme ça?

13
Erik

Je pense que votre meilleur pari est de créer un Duration et ensuite d'obtenir les minutes en utilisant asMinutes. Ceci est probablement plus clair lorsque vous décrivez un intervalle de temps.

moment.duration().asMinutes()

Voici la référence dans la documentation.

31
Davin Tryon

Vous pouvez utiliser:

var m = moment(new Date());
var minutes = (m.hour()*60) + m.minute();

http://momentjs.com/docs/#/get-set/minute/

8
Hitchcott

Je n'avais pas besoin de moment.js, au moins travaillé pour mes scénarios:

console.log('converting 2 hours, 20 minutes and 120 seconds to minutes');

var hours = 2,
  minutes = 20,
  seconds = 120,
  timeInminutes = (hours * 60) + minutes + (seconds / 60);

console.log('2 hours, 20 minutes and 120 seconds to minutes is', timeInminutes, ' minutes')

1
student

Pour ceux qui cherchent à obtenir des minutes d'un objet Moment existant, vous pouvez d'abord le formater selon vos besoins, puis utiliser duration pour obtenir sa durée en minutes:

moment.duration(myMomentObjectToConvert.format("HH:mm")).asMinutes()
0
Alexandre Lara
const moment = require('moment')
var date = new Date()
console.log(date) // 2018-11-09T10:01:33.131Z

// 1.
console.log( 'object', moment(new Date()).toObject() )
// { years: 2018,
// months: 10,
// date: 9,
// hours: 13,
// minutes: 1,
// seconds: 33,
// milliseconds: 135 }

// 2.
console.log( 'array', moment(new Date()).toArray() ) // array [ 2018, 10, 9, 13, 1, 33, 141 ]

// 3.
console.log( 'year', moment(new Date()).toObject().years ) // year 2018
console.log( 'day of month', moment(new Date()).toObject().date ) // day of month 9
console.log( 'hours', moment(new Date()).toObject().hours ) // hours 13
console.log( 'minutes', moment(new Date()).toObject().minutes ) // minutes 1
console.log( 'seconds', moment(new Date()).toObject().seconds ) // seconds 33
console.log( 'milliseconds', moment(new Date()).toObject().milliseconds ) // milliseconds 139

// 4.
console.log( 'weeks', moment(new Date()).weeks() ) // weeks 45
console.log( 'day of week', moment(new Date()).days() ) // day of week 5
console.log( 'day of month', moment(new Date()).date() ) // day of month 9
console.log( 'hours', moment(new Date()).hours() ) // hours 13
console.log( 'minutes', moment(new Date()).minutes() ) // minutes 1
console.log( 'seconds', moment(new Date()).seconds() ) // seconds 33
console.log( 'milliseconds', moment(new Date()).milliseconds() ) // milliseconds 141
0
suenot