以秒为单位的格式时间间隔为 X 小时 Y 分钟 Z 秒

boy*_*oyd 4 javascript date time-format date-fns

是否可以以倒计时样式格式化秒?例如,如果我有var seconds = 3662,我该如何显示:1 hour 1 minute 2 seconds

我尝试使用,formatDistanceStrict(3662)但这只是打印小时:1 hour

是否有内置方法来显示分钟和秒?我不想写 100 行代码来让它工作(就像互联网上的其他例子一样)

boy*_*oyd 6

使用 date-fns 库,我能找到的最简单的解决方案是:

import { formatDuration, intervalToDuration } from 'date-fns';

function humanDuration(time: number) {
    return formatDuration(intervalToDuration({start: 0, end: time * 1000}));
};
Run Code Online (Sandbox Code Playgroud)
humanDuration(463441); // 5 days 8 hours 44 minutes 1 second
Run Code Online (Sandbox Code Playgroud)