javascript - jquery 时间戳相减和相加

标签 javascript jquery timestamp

我知道 stackoverflow 中有很多类似的东西,但我似乎找不到与我的类似的东西。

我的数据表包含列 start_timestampend_timestamp 以及 total_hours 。我在任务管理中使用它来计算您在任务上花费的时间。因此,基本上要获取任务中的 total_hours ,您需要减去 end_timestampstart_timestamp 但我只能获取小时数。我的时间戳格式类似于 Y-m-d h:i:s 2016-05-04 23:00:00。问题是我还需要获得 session 记录。另外,最后我需要添加所有任务的所有时间。我当前的代码是:

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 是每个任务的小时数,我如何也包括分钟?

最佳答案

Problem is I also need to get the minutes.

您需要添加

var minutes = parseInt( seconds / 60 );

var hours = parseInt( seconds / 3600 );

其余的功能逻辑需要进行相应的操作。

如果您想将 2.5 转换为 2 小时 30 分钟

var x = 2.5;
var hours = parseInt(x);
var minutes = ( x - parseInt(x) ) * 60;

关于javascript - jquery 时间戳相减和相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37046601/

相关文章:

javascript - Array.prototype.map(callback, thisArg),第二个参数被忽略

javascript - 移动 View jquery 上的 Bootstrap 3 侧边栏导航器

mysql - 如何比较 MySql 中的两个时间戳?

javascript - 如何在搜索过滤后选择 jQuery Chosen 多选中的所有选项?

jQuery悬停 - 按钮保持悬停效果

php - 从现在或以后选择记录(不是 future 的时间戳)

database - 如何在 PostgreSQL 中自动更新时间戳

javascript - 加载时 svg 动画出现问题

javascript - meteor .publish : publish collection which depends on other collection

javascript - 无法在索引页中运行 Node 文件