代码之家  ›  专栏  ›  技术社区  ›  AJ-

将秒数累加到分钟数-角度

  •  1
  • AJ-  · 技术社区  · 6 年前

    我有一个时间选择器,用户输入一段时间,用十进制表示( 8.5 for example for 8h30min ),但他也可以手动输入“从”和“到”周期,

    例如-> from: 08:00, to: 17:30 传递的数据总是十进制的, 8.5 在这种情况下。

    然后我有一个函数,它在时间上转换那个十进制数,并在某处显示为字符串。

    问题是秒数没有向上舍入,例如,如果您将: 9.23 ,以小时为单位,即 9h 13min 48sec ,函数将返回此字符串: 9h13min ,它是向下舍入的,但我希望它总是向上舍入。

    无法计算在我的函数中改变什么,试着增加1min,然后使用StestOf(分钟),但是它似乎不起作用。 duration

    这是函数,它接收一个数字,这是十进制的小时数:

    getDurationAsString(hours: number): string {
                if (!hours || hours <= 0) return "";
    
                const mDuration = moment.duration(hours, "hours");
                return `${mDuration.asHours() > 0 ? Math.floor(mDuration.asHours()) + "h " : ""}${mDuration.minutes() > 0 ? mDuration.minutes() + "m" : ""}`;
            }
    

    所以问题就在这里 mDuration.minutes() + "m"

    我怎么能用MangJJ绕到顶部?

    1 回复  |  直到 6 年前
        1
  •  0
  •   AJ-    6 年前

    我是这样解决的:

    '${mDuration.minutes() > 0 ? (mDuration.minutes()+(mDuration.seconds() > 30 ? 1 : 0)) + "m" : ""}`'
    

    无论如何,谢谢你的输入!