js时间换算问题

不可救药的药
  • 16

一天24小时,1小时60分,一天时间就是24*60=1440分钟

现在已知当前时间分钟为700,如何换算成时分呢

回复
阅读 687
4 个回答
function getTime (number) {
    return Math.floor(number / 60) + 'h' + (number % 60) + 'min';
}
getTime(700); // "11h40min"

image.png

`${700 / 60 >> 0}时${700%60}分`
function showDiffTime(time) {
            if (!time) {
                return '-';
            }
            var new_date = new Date(); //新建一个日期对象,默认现在的时间
            var old_date = new Date(time); //设置过去的一个时间点,"yyyy-MM-dd HH:mm:ss"格式化日期

            var difftime = (new_date - old_date) / 1000; //计算时间差,并把毫秒转换成秒

            var days = parseInt(difftime / 86400); // 天  24*60*60*1000
            var hours = parseInt(difftime / 3600) - 24 * days; // 小时 60*60 总小时数-过去的小时数=现在的小时数
            var minutes = parseInt((difftime % 3600) / 60); // 分钟 -(day*24) 以60秒为一整份 取余 剩下秒数 秒数/60 就是分钟数
            var seconds = parseInt(difftime % 60); // 以60秒为一整份 取余 剩下秒数
            let timeText = '';
            if (days) {
                timeText += `${days} 天`;
            }
            if (hours) {
                timeText += `${hours} 时`;
            }
            if (!timeText) {
                return '0 时';
            }
            return timeText;
        }

你要的是这个?


/**
 * 秒数转为播放时间
 * @param sec 秒数
 * @returns 播放时间(如100 -> 00:01:40)
 */
function secendToPlayTime(sec: number): string {
    if (isNaN(sec)) {
        return "00:00:00"
    }
    var hour = Math.floor(sec / 3600)
    var minute = Math.floor((sec - hour * 3600) / 60)
    var second = Math.floor(sec % 60 % 60)
    var h = zeroPrefix(hour)    // 小时
    var m = zeroPrefix(minute)  // 分钟
    var s = zeroPrefix(second)  // 秒
    return h + ":" + m + ":" + s
    function zeroPrefix(n: number) {
        return ("" + n).length === 1 ? "0" + n : "" + n
    }
}

console.log(secendToPlayTime(100))
你知道吗?

宣传栏