【问题标题】:Angular pipe hour and minute format [duplicate]角管小时和分钟格式[重复]
【发布时间】:2020-05-13 06:50:13
【问题描述】:

如何在 Angular 中将几分钟内出现的数字(例如 450)在几小时内变成 07:30:00 的样子。我只设法使用以下管道使它看起来像这样 7.5h:

transform(value: number): string {
        if(value > 0 && value/60 < 1) {
          return value + ' m';

        } else {
          return value/60 + 'h';
        }
     }

【问题讨论】:

  • 请定义一些情况下管道将如何工作。如果输入 >0 && 24 * 60?它使用的模式是什么。也可以参考内置的 DatePipe angular.io/api/common/DatePipe

标签: angular pipe


【解决方案1】:
transform(minutes: number): string {
    const hours = Math.floor(minutes/60);
    const minutesLeft = minutes % 60;
    return `${hours < 10 ? '0' : ''}${hours}:${minutesLeft < 10 ? '0': ''}${minutesLeft}:00`
}

与 JavaScript-Snippet 相同:

    function transform(minutes) {
        const hours = Math.floor(minutes/60);
        const minutesLeft = minutes % 60;
        return `${hours < 10 ? '0' : ''}${hours}:${minutesLeft < 10 ? '0': ''}${minutesLeft}:00`
    }
    
    console.log(transform(450));

这应该可以解决问题。您可以通过除以 60(并向下舍入到整小时)得到小时数,剩下的分钟数是模 minutes % 60

通过比较 hours &lt; 10,如果需要,您可以添加前导零。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多