【问题标题】:Using moment.js how do you convert a moment object to minutes?使用 moment.js 如何将 moment 对象转换为分钟?
【发布时间】:2020-10-24 17:39:23
【问题描述】:

从元素的 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();

【问题讨论】:

    标签: javascript momentjs


    【解决方案1】:

    将时间转换为分钟的方法有很多:

    案例 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')

    案例 2

    对于那些寻求从现有 Moment 对象中获取分钟数的人,您可以先将其格式化为您需要的任何内容,然后使用 duration 来获取以分钟为单位的持续时间:

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

    案例 3

    你可以使用:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-08
      • 1970-01-01
      • 1970-01-01
      • 2021-03-16
      • 1970-01-01
      • 2020-06-10
      • 1970-01-01
      相关资源
      最近更新 更多