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?
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.
Vous pouvez utiliser:
var m = moment(new Date());
var minutes = (m.hour()*60) + m.minute();
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')
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()
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