在javascript中添加两个时间变量

在javascript中添加两个时间变量,javascript,Javascript,如何在javascript中添加两个时间变量 例如,1: var a = 17.30hrs var b=1.30hrs 因此,总计应为(a+b)=19.00小时 例2: var a = 23:00hrs var b = 1.30hrs 因此,总计应为(a+b)=00.30小时 这里我们可以使用24小时时间格式 提前感谢您的帮助使用此JavaScript 网上有很多例子。看看这个: // Simple function to calculate time difference betwe

如何在javascript中添加两个时间变量

例如,1:

var a = 17.30hrs 
var b=1.30hrs 
因此,总计应为(a+b)=19.00小时

例2:

var a = 23:00hrs 
var b = 1.30hrs
因此,总计应为
(a+b)=00.30小时

这里我们可以使用
24小时时间格式

提前感谢您的帮助

使用此JavaScript 网上有很多例子。看看这个:

// Simple function to calculate time difference between 2 Javascript date objects
function get_time_difference(earlierDate,laterDate)
{
       var nTotalDiff = laterDate.getTime() - earlierDate.getTime();
       var oDiff = new Object();
 
       oDiff.days = Math.floor(nTotalDiff/1000/60/60/24);
       nTotalDiff -= oDiff.days*1000*60*60*24;
 
       oDiff.hours = Math.floor(nTotalDiff/1000/60/60);
       nTotalDiff -= oDiff.hours*1000*60*60;
 
       oDiff.minutes = Math.floor(nTotalDiff/1000/60);
       nTotalDiff -= oDiff.minutes*1000*60;
 
       oDiff.seconds = Math.floor(nTotalDiff/1000);
 
       return oDiff;
 
}
以上代码取自:

使用此JavaScript 网上有很多例子。看看这个:

// Simple function to calculate time difference between 2 Javascript date objects
function get_time_difference(earlierDate,laterDate)
{
       var nTotalDiff = laterDate.getTime() - earlierDate.getTime();
       var oDiff = new Object();
 
       oDiff.days = Math.floor(nTotalDiff/1000/60/60/24);
       nTotalDiff -= oDiff.days*1000*60*60*24;
 
       oDiff.hours = Math.floor(nTotalDiff/1000/60/60);
       nTotalDiff -= oDiff.hours*1000*60*60;
 
       oDiff.minutes = Math.floor(nTotalDiff/1000/60);
       nTotalDiff -= oDiff.minutes*1000*60;
 
       oDiff.seconds = Math.floor(nTotalDiff/1000);
 
       return oDiff;
 
}
上述代码取自:

第一个示例

var date = new Date();
date.setHours(17);
date.setMinutes(30);
date.setSeconds(0);

var newDate = new Date(date.getTime());
newDate.setSeconds(newDate.getSeconds() + 0);
newDate.setMinutes(newDate.getMinutes() + 30);
newDate.setHours(newDate.getHours() + 1);
第一个例子,

var date = new Date();
date.setHours(17);
date.setMinutes(30);
date.setSeconds(0);

var newDate = new Date(date.getTime());
newDate.setSeconds(newDate.getSeconds() + 0);
newDate.setMinutes(newDate.getMinutes() + 30);
newDate.setHours(newDate.getHours() + 1);

新文件
函数getTimeTotal(time1、time2)
{
var time1_hr=“”;
var time1_min=“”;
var time2_hr=“”;
var time2_min=“”;
var total_hrtime=“”;
var total_mintime=“”;
每小时产生的var=0;
time1_hr=time1.split(“:”[0];
time1_min=time1.split(“:”[1];
time2_hr=time2.split(“:”[0];
time2_min=time2.split(“:”[1];
总时长=1*time1\u hr+1*time2\u hr;
警报(总时间);
总时间=1*time1\u min+1*time2\u min;
警报(总分钟时间);
如果(总时间>=60)
{
total_mintime=total_mintime-60;
总时间=总时间+1;
}
如果(总时间>=24)
{
总时间=总时间-24;
如果(总时间<代码>
新文件
函数getTimeTotal(time1、time2)
{
var time1_hr=“”;
var time1_min=“”;
var time2_hr=“”;
var time2_min=“”;
var total_hrtime=“”;
var total_mintime=“”;
每小时产生的var=0;
time1_hr=time1.split(“:”[0];
time1_min=time1.split(“:”[1];
time2_hr=time2.split(“:”[0];
time2_min=time2.split(“:”[1];
总时长=1*time1\u hr+1*time2\u hr;
警报(总时间);
总时间=1*time1\u min+1*time2\u min;
警报(总分钟时间);
如果(总时间>=60)
{
total_mintime=total_mintime-60;
总时间=总时间+1;
}
如果(总时间>=24)
{
总时间=总时间-24;
如果(总时间试试这个

var a = "17.30hrs" 
var b = "1.30hrs"

alert(addtime(a,b)); //output: 19.00hrs 

var a = "23.00hrs" 
var b = "1.30hrs"

alert(addtime(a,b)); //output: 0:30hrs

//Add two times
function addtime(start_time, end_time){
    var startArr = start_time.replace('hrs','',start_time).split('.');
    var endArr = end_time.replace('hrs','',end_time).split('.');

    var d = new Date();
    startArr[0] = (startArr[0]) ? parseInt(startArr[0], 10) : 0;
    startArr[1] = (startArr[1]) ? parseInt(startArr[1], 10) : 0;
    endArr[0] = (endArr[0]) ? parseInt(endArr[0], 10) : 0;
    endArr[1] = (endArr[1]) ? parseInt(endArr[1], 10) : 0;

    d.setHours(startArr[0] + endArr[0]);
    d.setMinutes(startArr[1] + endArr[1]);   

    var hours = d.getHours();
    var minutes = d.getMinutes();

    return hours+'.'+minutes+'hrs';
}​
演示:试试这个

var a = "17.30hrs" 
var b = "1.30hrs"

alert(addtime(a,b)); //output: 19.00hrs 

var a = "23.00hrs" 
var b = "1.30hrs"

alert(addtime(a,b)); //output: 0:30hrs

//Add two times
function addtime(start_time, end_time){
    var startArr = start_time.replace('hrs','',start_time).split('.');
    var endArr = end_time.replace('hrs','',end_time).split('.');

    var d = new Date();
    startArr[0] = (startArr[0]) ? parseInt(startArr[0], 10) : 0;
    startArr[1] = (startArr[1]) ? parseInt(startArr[1], 10) : 0;
    endArr[0] = (endArr[0]) ? parseInt(endArr[0], 10) : 0;
    endArr[1] = (endArr[1]) ? parseInt(endArr[1], 10) : 0;

    d.setHours(startArr[0] + endArr[0]);
    d.setMinutes(startArr[1] + endArr[1]);   

    var hours = d.getHours();
    var minutes = d.getMinutes();

    return hours+'.'+minutes+'hrs';
}​

演示:

这似乎有效,但前提是你工作时长和分钟长:

var time1 = new Date('','','', 17, 30);
var time2 = new Date('','','', 01, 30);

var hours = time1.getHours() + time2.getHours();
var minutes = time1.getMinuess() + time2.getMinutes();

if ( minutes >= 60 ) 
{
    hours++;
    minutes -= 60;
}

if ( hours >= 24 ) 
{
    hours -= 24;
}

console.log ( hours );
console.log ( minutes );

在这里拉小提琴:

这似乎有效,但前提是你工作时长时长:

var time1 = new Date('','','', 17, 30);
var time2 = new Date('','','', 01, 30);

var hours = time1.getHours() + time2.getHours();
var minutes = time1.getMinuess() + time2.getMinutes();

if ( minutes >= 60 ) 
{
    hours++;
    minutes -= 60;
}

if ( hours >= 24 ) 
{
    hours -= 24;
}

console.log ( hours );
console.log ( minutes );

在这里摆弄:

从另一个日期减去一个日期会得到一个整数,而不是另一个日期,因此
c.getHours()
将不起作用。@Codemonkey刚刚选中。谢谢。更新。您也可以使用更简单的
新日期(0)
用于Unix纪元。从另一个日期减去一个日期会得到一个整数,而不是另一个日期,因此
c.getHours()
不起作用。@Codemonkey刚刚选中。谢谢。已更新。您还可以使用更简单的
新日期(0)
适用于Unix时代。如果分钟数大于60,则小时数不会更新,如果分钟数大于60,则小时数不会更新