【问题标题】:how to get a duration in human format (1 hours, 4 minutes)如何获得人类格式的持续时间(1小时4分钟)
【发布时间】:2021-10-05 15:35:23
【问题描述】:

我正在使用“时刻”库。我有一个以分钟为单位的持续时间,我希望它人性化。

例如:

const totalMinutes = 124;
console.log(moment.duration(totalMinutes, 'minutes').humanize()); // prints 2 hours

但这不是我想要的,我想要的是:

124 => 2 hours, 4 minutes

34 => 34 minutes // no hours

725 => 12 hours, 5 minutes

我不在乎几天或几秒钟。

我知道我可以以某种方式提取小时和分钟并将它们加入到最终的字符串中,但我觉得至少使用库本身有一种更短的方法。 更不用说我希望将文本本地化为其他语言,这点库本身支持。

【问题讨论】:

标签: javascript momentjs


【解决方案1】:

不幸的是,Moment JS 库似乎没有开箱即用,我不得不使用另一个 library

解决办法如下:

import humanizeDuration from "humanize-duration";

console.log(humanizeDuration(658 * 60 * 1000, { language: 'en'})); 
// prints 10 hours, 58 minutes
console.log(humanizeDuration(55 * 60 * 1000, { language: 'en'})); 
// prints 55 minutes

这正是我想要的。

【讨论】:

    猜你喜欢
    • 2020-09-08
    • 1970-01-01
    • 2019-08-19
    • 2019-07-03
    • 2014-06-16
    • 1970-01-01
    • 2020-10-24
    • 2020-04-29
    • 1970-01-01
    相关资源
    最近更新 更多