Javascript:如何以毫秒为单位将时间显示为天:小时:分钟
Javascript: How to show time in milliseconds as days: hours: min?
我在这里看到的关于这个问题的帖子很少,但我找不到我的情况。所以我有一个有三列的表格,上面写着 A、B 和 C 列,其中 A 和 B 包含"3/9/2016 4:28:42 PM"形式的日期。C 列是 A 列和 B 列的差值。我得到了差异,但以毫秒为单位。我需要以天为单位的列的每条记录:小时:分钟格式。我看过一篇 Javascript 帖子将毫秒显示为没有秒的 days:hours:mins,但无法在我的循环中实现。这是我正在开发的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>
转换为秒(除以 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);
});
}
只需将1439198499
放在您的difference
中即可。
链接:jsfiddle
我使用控制台进行输出。
试试这个:
var date = new Date(1439198499*1000);
// Days part from the timestamp
var days = date.getDay();
// Hours part from the timestamp
var hours = date.getHours();
// Minutes part from the timestamp
var minutes = "0" + date.getMinutes();
// Will display time in 10:30:23 format
var formattedTime = days + ':' + hours + ':' + minutes.substr(-2);
console.log(formattedTime);
输出
1:15:21
相关文章:
- 显示时间的脚本
- 如何用前导零显示时间
- 如何在烛光图表中添加/显示时间框架
- 如何在页面上显示时间、日期IP和URL?更新日期:2015年2月25日
- 在条件中的几个时间行中设置自定义css效果后,从Jquery时间选择器显示时间
- 在指定时间中添加 24 小时后在网页上显示时间 x
- 如何像这样显示时间,例如:1秒前,1分钟前,1小时前,1个月前
- j查询日期选取器不显示时间输入值
- JavaScript 和 JQuery:在文本框中显示时间
- 给定一个时间戳,如何按天/周/月显示时间
- 为什么不显示时间
- 显示时间而不是日期的图表
- 根据天数和月数显示时间戳
- 如何在 Javascript 中显示时间
- 如果午夜使用时刻.js,则不显示时间
- 是否可以筛选 JSON 源以仅显示时间戳字符串中的时间
- 检查后显示时间选择器复选框,导轨(Redmine)
- 设置showErrorMessage()的显示时间
- 以12小时格式显示时间
- 日期时间倒计时,删除小数,并在每个类别中保留时间显示时间