Javascript:如何以毫秒为单位显示时间:小时:分钟?

Vic*_*tat 1 javascript average

我在这里看到很少关于这个问题的帖子,但我找不到那个作为我的情况.所以我有一个有三列的表,比如A,B和C栏,其中A和B包括"3/9/2016 4:28:42 PM"形式的日期.C列是A列和B列的差异.我得到了差异但是以毫秒为单位.我需要以天为单位的每列记录:小时:分钟格式.我已经看到一个帖子Javascript显示毫秒为天:小时:没有秒的分钟但在我的循环中无法实现.这是我正在研究的JavaScript.我该怎么做?

    ' SQL = some statements

    <script>
        $(function() {
            ShowDifference();
            ShowAverage();
        });
         function ShowDifference() {
            var assigned; 
            var completed;
            var difference;
            $('#tbl tr').each(function() {
            assigned = new Date($(this).find('.assigned').html())
            completed = new Date($(this).find('.completed').html())
            difference = completed - assigned;
               // $(this).find('.difference').html(difference/1000/60/60);
            $(this).find('.difference').html(difference);
            });
        }
        function ShowAverage() {
           var difference = Number(0);
           var countRows = Number(0);
           var average;
           $('#tbl tr .difference').each(function() {
               countRows = ($(this).html() !== '') ? countRows + 1 : countRows;
               difference += Number($(this).html());
           });
           average = Number(difference / countRows);
           $("#tbla #average").html(average);
           }
    </script>        
Run Code Online (Sandbox Code Playgroud)

Gab*_*oli 5

转换为秒(除以1000),然后转换为小时(除以3600),余数除以60得到分钟.

所有计算都在总秒数上进行,因此在评论中我描述了用于计算的内容

function ShowDifference() {
    var assigned; 
    var completed;
    var difference;

    $('#tbl tr').each(function() {
        assigned = new Date($(this).find('.assigned').html())
        completed = new Date($(this).find('.completed').html())
        difference = completed - assigned;

        var totalSeconds = difference / 1000;
        var days = Math.floor(totalSeconds / 86400); // 86400 = 24 hours * 60 minutes * 60 seconds per day
        var hours = Math.floor((totalSeconds % 86400) / 3600); // 3600 = 60 minutes * 60 seconds per day
        var minutes = Math.floor((totalSeconds % 3600) / 60); // 60 = 60 seconds per minute

        // $(this).find('.difference').html(difference/1000/60/60);
        $(this).find('.difference').html(days + ":" + hours + ':' + minutes);
    });
}
Run Code Online (Sandbox Code Playgroud)