使用 moment.js 如何将 moment 对象转换为分钟?

3

从元素的innerText中设置了一个startTime。然后使用moment(startTime)将此字符串转换为Moment.js对象。如何将其转换为数字值(以分钟为单位)?

Javascript

startTime = document.querySelector(".start-time").text;
startTime = moment(startTime);
console.log(startTime)

console.log

Moment {_isAMomentObject: true, _i: "08:03:03 PM", _isUTC: false, _pf: {…}, _locale: Locale, …}
    _d: Invalid Date {}
    _i: "08:03:03 PM"
    _isAMomentObject: true
    _isUTC: false
    _isValid: false
    _locale: Locale {_calendar: {…}, _longDateFormat: {…}, _invalidDate: "Invalid date", _dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, ordinal: ƒ, …}
    _pf: {empty: false, unusedTokens: Array(0), unusedInput: Array(0), overflow: -2, charsLeftOver: 0, …}
    __proto__: Object

更新(解决方案):对于任何可能有所帮助的人

startTime = moment.duration(startTime).asMinutes();
1个回答

0

有许多方法可以将时间转换为分钟:

情况1

我不需要moment.js,至少对我的场景有效:

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

var hours = 3,
  minutes = 10,
  seconds = 150,
  timeInminutes = (hours * 60) + minutes + (seconds / 60);

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

案例二

对于那些想要从现有的 Moment 对象中获取分钟数的人,您可以首先将其格式化为您需要的任何形式,然后使用 duration 方法来获取它的分钟数:

moment.duration(myMomentObjectToConvert.format("HH:mm")).asMinutes();

案例三

您可以使用以下方法:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接