使用javascript而不使用moment.js的{2个时间戳之间的差异

时间:2017-02-26 08:57:58

标签: javascript timestamp

我有2个时间戳

var startTimestamp = 1488021704531;
var endTimestamp = 1488022516572;

我需要使用javascript在小时和分钟之间区分这些时间戳,但不使用moment.js。 意味着输出应该以小时和分钟为单位,例如:(02h 13min)。

1 个答案:

答案 0 :(得分:0)

请提供您目前解决方案的更多背景信息或深入信息。也就是说,我理解你的第二部分“小时/分钟/秒”的需要/问题;下面是一些相关内容,或者在milliseconds to time in javascript上阅读。

话虽如此,

您可以尝试减去,如在结尾 - 开始..如下面的代码示例。

    var startTimestamp = 1488021704531;
    var endTimestamp = 1488022516572;
    document.write(endTimestamp - startTimestamp + '<br/>');

这将输出812041 - 这是毫秒。

如果您想将这些毫秒转换为hh:mm:ss.ms的已知格式,您可以通过示例尝试以下代码 - also on jsfiddle

    var startTimestamp = 1488021704531;
    var endTimestamp = 1488022516572;
    document.write(endTimestamp - startTimestamp + '<br/>');
    document.write(millisecondsToHoursMinutesSeconds(endTimestamp - startTimestamp));
    
    document.write('<hr/>');
    
    function millisecondsToHoursMinutesSeconds(ms) {
        var milliseconds = parseInt((ms%1000)/100)
            , seconds = parseInt((ms/1000)%60)
            , minutes = parseInt((ms/(1000*60))%60)
            , hours = parseInt((ms/(1000*60*60))%24);
    
        hours = (hours < 10) ? "0" + hours : hours;
        minutes = (minutes < 10) ? "0" + minutes : minutes;
        seconds = (seconds < 10) ? "0" + seconds : seconds;
    
        return hours + ":" + minutes + ":" + seconds + "." + milliseconds;
    }

或阅读此问题中的其他解决方案:milliseconds to time in javascript