javascript - 毫秒数怎么转换为XX小时XX分钟

查看:104
本文介绍了javascript - 毫秒数怎么转换为XX小时XX分钟的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

现在巳知毫秒数为-60850977,怎么转换为还剩XX小时XX分钟?
我使用:

function timeFormat( timestamp, string ){
    var time = "";
    var dateTime = new Date(timestamp);
    var year = dateTime.getFullYear();
    var month = dateTime.getMonth()+1;
    var date = dateTime.getDate();
    var hours = dateTime.getHours();
    var minutes = dateTime.getMinutes();
    var seconds = dateTime.getSeconds();

    month   = month<10   ? "0"+month   : month;
    date    = date<10    ? "0"+date    : date;
    seconds = seconds<10 ? "0"+seconds : seconds;
    hours   = hours<10   ? "0"+hours   : hours;
    minutes = minutes<10 ? "0"+minutes : minutes;
    seconds = seconds<10 ? "0"+seconds : seconds;

    switch (string) {
        case "yyyy-mm-dd":
            time = year + "-" + month + "-" + date;
            break;
        case "yyyy-mm-dd hh:mm":
            time = year + "-" + month + "-" + date + " " + hours + ":" + minutes;
            break;
        case "yyyy-mm-dd hh:mm:ss":
            time = year + "-" + month + "-" + date + " " + hours + ":" + minutes + ":" + seconds;
            break;
        case "yyyy/mm/dd":
            time = year + "/" + month + "/" + date;
            break;
        case "hh:mm:ss":
            time = hours + ":" + minutes + ":" + seconds;
            break;
        default:
            time = year + "-" + month + "-" + date;
    }

    return time;
}

timeFormat(-60850977,"hh:mm:ss"),使用这个方法后还是无法转换。请问是怎么回事?

解决方案

测试了一下,代码没毛病。。。。
不过可以简化一下,写的太啰嗦了;

function toStr(n) {
    n = n.toString();
    return n[1] ? n : '0' + n;
}

switch (string) {
        case "yyyy-mm-dd":
            time = [year, month, date].map(toStr).join('-');
            break;
        ...
    }

这篇关于javascript - 毫秒数怎么转换为XX小时XX分钟的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆