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

标签 javascript momentjs

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

Javascript

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

控制台日志

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

我不需要 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();

关于javascript - 使用 moment.js 如何将 moment 对象转换为分钟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62724854/

相关文章:

javascript - 为什么react-native中默认 View 宽度是100%?为什么使用alignItems时没有默认宽度?

javascript - 如何查找距今 7-14 天的日期

javascript - 使用 moment.js 提取时区编号

javascript - 使用 moment.js 根据日期更改输入字段的背景和颜色

javascript - 如何为特定日期添加分钟?

javascript - 从 Moment.js 对象获取小时、分钟、秒

javascript - d3.js 和加载带有特殊字符的数据

javascript - 将字符串与 JavaScript 数组属性内的变量连接起来

javascript - Mozilla Persona/BrowserID 电子邮件地址和 cookie

javascript - 如何在使用纯 javascript 克隆 html 元素后取消选中单选按钮?