Jquery两列表之间的区别

时间:2013-08-12 11:55:51

标签: jquery time diff calculated-columns

我有一张像这样的表:

Hour 1 | Hour 2 | Difference
16:30    12:30     = ?
16:30    12:30     = ?
16:30    12:30     = ?

我想用jquery计算两列“小时1”和“小时2”之间的差异

2 个答案:

答案 0 :(得分:1)

tr:gt(0)表示不包括最顶层的表标题行

DEMO

如果您的第3栏空白td

$('table tr:gt(0)').each(function(){
    var str_1 = $(this).find('td:nth(0)').text().split(':');
    var str_2 = $(this).find('td:nth(1)').text().split(':')
    var str_3 = (parseInt(str_1[0])-parseInt(str_2[0]))+':'+(parseInt(str_1[1])-parseInt(str_2[1]));
    $(this).find('td:nth(2)').text(str_3);
});

如果您没有第3栏空白td,则可以追加td

DEMO

$('table tr:gt(0)').each(function () {
    var str_1 = $(this).find('td:nth(0)').text().split(':');
    var str_2 = $(this).find('td:nth(1)').text().split(':')
    var str_3 = (parseInt(str_1[0]) - parseInt(str_2[0])) + ':' + (parseInt(str_1[1]) - parseInt(str_2[1]));
    $(this).append('<td>'+str_3+'</td>');
});

答案 1 :(得分:0)

我猜的最短时间来获得差异:

diff = (Date.parse('2000-01-01T16:30:00')-Date.parse('2000-01-01T12:30:00'))/1000/60/60;

要获得分钟差异,请从上述语句中删除最后一个/60

根据需要替换上面字符串中的16:3012:30