moment.js 如何处理偏角分钟和小时?
How moment.js works with declination minutes and hours?
请告诉我,有一个数字,例如 1440 我需要 get 或 minute,或 minutes,或 hour 或 hours。我能做些什么?我愿意:
var getTimeouts = function (timeouts) {
var timeout = +timeouts,
timeoutValue = "";
if (timeout > 0) {
if (timeout % 60 == 0) {
if (timeout == 60) {
// timeoutValue = '1 hour';
} else {
// timeoutValue = '... hours';
}
} else {
if (timeout == 1) {
// timeoutValue = '1 minute';
} else {
// timeoutValue = '... minutes';
}
}
}
return timeoutValue;
};
console.log(getTimeouts(1440)); // 24 hours
问题:如何使用 momont.js 解析数字并得到 minute/minutes/hour/hours?
你只能用 momentjs 来做这件事。
moment.duration().humanize()
会给你一个松散代表持续时间的字符串。
moment.duration(60,"minute").humanize(); //= an hour
moment.duration(1,"minute").humanize(); //= a minute
moment.duration(5,"minute").humanize(); //= 5 minutes
moment.duration(55,"minute").humanize(); //= an hour <-!!!
根据您的需要,它可能就足够了。
但是,如果您需要真正准确的内容,请使用 HumanizeDuration plugin。
humanizeDuration(3000) // "3 seconds"
humanizeDuration(2015) // "2.25 seconds"
humanizeDuration(97320000) // "1 day, 3 hours, 2 minutes"
如果您不需要它附带的额外语言支持,只需手动删除插件的那些部分。
编辑:
以防我误解了你只需要一个代表小时、分钟、秒等的数字
您可以使用 moment.duration().as('something')
.
var getTimeouts = function (timeouts) {
var timeout = +timeouts,
timeoutValue = "";
if (timeout > 0) {
if (timeout % 60 == 0) {
if (timeout == 60) {
timeoutValue = '1 hour';
} else {
timeoutValue = parseInt(
moment.duration(timeouts, 'minutes').as('hours'), 10) + ' hours';
}
} else {
if (timeout == 1) {
timeoutValue = '1 minute';
} else {
timeoutValue = parseInt(
moment.duration(timeouts, 'minutes').as('minute'), 10) + ' minutes';
}
}
}
return timeoutValue;
};
工作副本:http://jsfiddle.net/slicedtoad/c90v76s9/3/
您当然可以添加逻辑以使其为您提供诸如“1 小时 2 分钟”之类的信息
请告诉我,有一个数字,例如 1440 我需要 get 或 minute,或 minutes,或 hour 或 hours。我能做些什么?我愿意:
var getTimeouts = function (timeouts) {
var timeout = +timeouts,
timeoutValue = "";
if (timeout > 0) {
if (timeout % 60 == 0) {
if (timeout == 60) {
// timeoutValue = '1 hour';
} else {
// timeoutValue = '... hours';
}
} else {
if (timeout == 1) {
// timeoutValue = '1 minute';
} else {
// timeoutValue = '... minutes';
}
}
}
return timeoutValue;
};
console.log(getTimeouts(1440)); // 24 hours
问题:如何使用 momont.js 解析数字并得到 minute/minutes/hour/hours?
你只能用 momentjs 来做这件事。
moment.duration().humanize()
会给你一个松散代表持续时间的字符串。
moment.duration(60,"minute").humanize(); //= an hour
moment.duration(1,"minute").humanize(); //= a minute
moment.duration(5,"minute").humanize(); //= 5 minutes
moment.duration(55,"minute").humanize(); //= an hour <-!!!
根据您的需要,它可能就足够了。
但是,如果您需要真正准确的内容,请使用 HumanizeDuration plugin。
humanizeDuration(3000) // "3 seconds"
humanizeDuration(2015) // "2.25 seconds"
humanizeDuration(97320000) // "1 day, 3 hours, 2 minutes"
如果您不需要它附带的额外语言支持,只需手动删除插件的那些部分。
编辑:
以防我误解了你只需要一个代表小时、分钟、秒等的数字
您可以使用 moment.duration().as('something')
.
var getTimeouts = function (timeouts) {
var timeout = +timeouts,
timeoutValue = "";
if (timeout > 0) {
if (timeout % 60 == 0) {
if (timeout == 60) {
timeoutValue = '1 hour';
} else {
timeoutValue = parseInt(
moment.duration(timeouts, 'minutes').as('hours'), 10) + ' hours';
}
} else {
if (timeout == 1) {
timeoutValue = '1 minute';
} else {
timeoutValue = parseInt(
moment.duration(timeouts, 'minutes').as('minute'), 10) + ' minutes';
}
}
}
return timeoutValue;
};
工作副本:http://jsfiddle.net/slicedtoad/c90v76s9/3/
您当然可以添加逻辑以使其为您提供诸如“1 小时 2 分钟”之类的信息