In pure JS, this would be how.
How can I find out the number of minutes since midnight for a given moment
object (without extracting to Date
// Your moment
var mmt = moment();
// Your moment at midnight
var mmtMidnight = mmt.clone().startOf('day');
// Difference in minutes
var diffMinutes = mmt.diff(mmtMidnight, 'minutes');
By default, moment#diff will return number rounded down. If you want the floating point number, pass true as the third argument. Before 2.0.0, moment#diff returned rounded number, not a rounded down number.
Consider this pseudocode because I haven't test to see if the difference takes into account DST.
This is what I have at the moment:
if (!moment.isMoment(mmt)) {
return 0;
}
var hh = mmt.get('hour');
var mm = mmt.get('minute');
return hh*60 + mm;
I am not sure if it takes into account various edge cases; comment if this is the case, or provide an alternate answer.