Javascript jquery减去和添加时间戳
我知道stackoverflow中有很多类似的东西,但我似乎找不到类似的东西 我有一个datatable,它有Javascript jquery减去和添加时间戳,javascript,jquery,timestamp,Javascript,Jquery,Timestamp,我知道stackoverflow中有很多类似的东西,但我似乎找不到类似的东西 我有一个datatable,它有start\u timestamp和end\u timestamp和total\u hours列。我在任务管理中使用它来计算您在任务中花费的时间。因此,基本上要获得任务中的总时数,您需要减去结束时间戳和开始时间戳,但我只能获得时数。我的时间戳格式类似于Y-m-dh:i:s2016-05-04 23:00:00。问题是我还需要得到会议记录。另外,最后我需要为所有任务添加所有时间。我目前的代
start\u timestamp
和end\u timestamp
和total\u hours
列。我在任务管理中使用它来计算您在任务中花费的时间。因此,基本上要获得任务中的总时数
,您需要减去结束时间戳
和开始时间戳
,但我只能获得时数。我的时间戳格式类似于Y-m-dh:i:s
2016-05-04 23:00:00。问题是我还需要得到会议记录。另外,最后我需要为所有任务添加所有时间。我目前的代码是:
var totalhours = 0;
$.each(myObj[0], function(key,value) {
var date_start = new Date(value.start_timestamp);
var date_end = new Date(value.end_timestamp);
var milisec = Math.abs(date_end - date_start);
var seconds = milisec / 1000;
var hours = parseInt( seconds / 3600 );
totalhours += hours;
var isdaily = '';
if(value.is_daily == 0)
{
isdaily = 'Added'
}
else
{
isdaily = 'Daily'
}
t.row.add( [
value.id,
value.task_description,
value.start_timestamp,
value.end_timestamp,
hours,
value.name,
value.assign,
value.created_at,
isdaily,
value.status
] ).draw();
});
所以基本上,totalhours
是所有任务的总小时数,hours
是每个任务的小时数,我如何包括分钟数
问题是我还需要得到会议记录
您需要添加
var minutes = parseInt( seconds / 60 );
到
其余的函数逻辑需要相应地操作
如果要将2.5小时转换为2小时30分钟
var x = 2.5;
var hours = parseInt(x);
var minutes = ( x - parseInt(x) ) * 60;
嗨,谢谢你的帮助。我知道这一点,但这个公式只能得到小时内的分钟转换,对吗?所以如果我有2016-05-04 03:00:00-2016-05-04 01:00:00。那是2小时还是120分钟,对吗?我需要的是,如果类似于2016-05-04 03:30:00-2016-05-04 01:00:00,那么它将是2小时30分钟类似的时间。您需要使用
parseFloat(seconds/3600)
然后根据minutes@jackhammer013我添加了将浮点小时值转换为小时分钟的示例。请看一看。
var x = 2.5;
var hours = parseInt(x);
var minutes = ( x - parseInt(x) ) * 60;