var prevTime;
$("tbl tr").each(function() {
    var hour = $(this).find("td:eq(0)");
    var time = $(this).find("td:eq(1)");
    if ($(time) != "") {
        prevTime = Date.parse(time);
        return;
    }
    var prevHour = prevTime.getHours();
    var prevPrev = prevTime.getYear();
    var prevMonth = prevTime.getMonth();
    var prevDate = prevTime.getDate();
    prevHour += hour;
    if (prevHour < 60) {
        prevTime.setHours(prevHour); 
    }
    prevHour = prevHour - 60;
    prevDate += 1;
    if (prevDate < 31) {    // 这里LZ需要完善,31天或30天以及2月的天数
        prevTime.setHours(prevHour);
        prevTime.setDate(prevDate);
    }
    // 后面与上面基本一致,对月、年需要检查
});

解决方案 »

  1.   


    var prevTime;
    $("tbl tr").each(function() {
        var hour = $(this).find("td:eq(0)");
        var time = $(this).find("td:eq(1)");
        if ($(time) != "") {
            prevTime = Date.parse(time);
            return;
        }
        var prevHour = prevTime.getHours();
        var prevPrev = prevTime.getYear();
        var prevMonth = prevTime.getMonth();
        var prevDate = prevTime.getDate();
        prevHour += hour;
        if (prevHour < 60) {
            prevTime.setHours(prevHour);
            return; 
        }
        // 小时+1后大于60,天数加1
        prevHour = prevHour - 60;
        prevDate += 1;
        if (prevDate < 31) {    // 这里LZ需要完善,31天或30天以及2月的天数
            prevTime.setHours(prevHour);
            prevTime.setDate(prevDate);
            return;
        }
        // 后面与上面基本一致,对月、年需要检查
    });