如何以小时计算持续时间:从提供的开始时间 - 分钟到结束时间 - 分钟的分钟格式?

时间:2014-03-04 07:12:28

标签: javascript

Javascript中,我有4个带值的变量。

以下是示例:

var start_hour = 1;
var start_minute = 00;
var end_hour = 6;
var end_minute = 30;

我想创建一个javascript函数,可以计算持续时间和打印,如上例所示,持续时间输出应为5:30表示5 Hours & 30 Minutes

3 个答案:

答案 0 :(得分:1)

请参阅此JSFiddle http://jsfiddle.net/sajith/LkZC7/

var start_hour = 1;
var start_minute = 00;
var end_hour = 6;
var end_minute = 30;

start_minute = parseInt(start_minute, 10);
end_minute = parseInt(end_minute, 10);

if (start_hour < end_hour ) {
    var start_mins = start_hour * 60 + start_minute;
    var end_mins = end_hour * 60 + end_minute;
    var dur_mins = end_mins - start_mins;
    var dur_hours = Math.floor(dur_mins / 60);
    dur_mins = dur_mins % 60;
} else {
    // Start hour is greater than end hour
}

alert(dur_hours + ":" + dur_mins);

答案 1 :(得分:0)

var start_hour = 1;
var start_minute = 00;
var end_hour = 6;
var end_minute = 30;

var start = new Date(2014, 1, 1, start_hour, start_minute, 0, 0);
var end = new Date(2014, 1, 1, end_hour, end_minute, 0, 0);

diffMilliseconds = Date.parse(end) - Date.parse(start);

hours = Math.floor(diff/(1000*60*60));
minutes = (diff%(1000*60*60)) / (1000 * 60);

答案 2 :(得分:0)

没有库,假设开始&lt; = end:

var h = end_hour - start_hour;
var m = end_minute - start_minute;
if(start_minute > end_minute){
        var dt = 60 - start_minute + end_minute;
        h = h-1;
        m = dt;
        if(dt>60){
                m = dt%60;
                h = h + 1;
        }
}
document.write(h+" hour(s) and "+m+" minute(s).");
相关问题