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)
转换为秒(除以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)
| 归档时间: |
|
| 查看次数: |
2213 次 |
| 最近记录: |