JSFiddle - React, Tailwind, and code Playground

CSS

* { font-family: georgia; }
table { margin: 10px; }
th { font-weight: bold; background: #eee; }
td, th { padding: 10px; border: 1px #ddd solid; }

JavaScript

// solution for http://stackoverflow.com/questions/10353062/calculating-hour-difference-in-javascript-but-only-certain-hours

function isHoliday(/*Date*/ date) {
    for(var i = 0; i < holidays.length; i++) {
        if(holidays[i].getTime() == date.getTime()) {
            return true;
        }
    }
    return false;
}

function diffHours('11/6/2017 19:00', '11/7/2017 18:00'') {
    var date1 = new Date(d1.getUTCFullYear()+"-"+(d1.getUTCMonth()+1)+"-"+d1.getUTCDate()+" UTC");
    var date2 = new Date(d2.getUTCFullYear()+"-"+(d2.getUTCMonth()+1)+"-"+d2.getUTCDate()+" UTC");

    var sum = 0;
    var oneday = 24*3600*1000;
    var hours, date;

    // first day
    if(!isHoliday(date1)) {
        // decrease by a whole day first (will be added later)
        sum -= 10;
        
        // add real hours
        hours = d1.getUTCHours() + d1.getUTCMinutes() / 60;
        if(hours <= 6) {
            sum += 10 - hours;
        } else if(hours <= 20) {
            sum += 4;
        } else {
            sum += 24 - hours;
        }
    }
    
    // last day
    if(!isHoliday(date2)) {
        // decrease by a whole day first (will be added later)
        sum -= 10;
        
        // add real hours
        hours = d2.getUTCHours() + d2.getUTCMinutes() / 60;
        if(hours <= 6) {
            sum += hours;
        } else if(hours <= 20) {
            sum += 6;
        } else {
            sum += hours - 14;
        }
    }
    
    // whole days
    while(date1 <= date2) {
        if(!isHoliday(date1)) {
            sum += 10;
        }
        
        // increase date by 1 day
        date1.setTime(date1.getTime() + oneday);
    }
    
    return Math.floor(sum);
}

// ==============
// examples below
// --------------

// array of Dates (in UTC) to skip
var holidays = [
    new Date("2012-01-04 UTC"),
];

a = new Date("2012-01-01 12:00 UTC");
b = new Date("2012-01-02 12:00 UTC");
c = new Date("2012-01-02 22:00 UTC");
d = new Date("2012-01-03 07:00 UTC");
e =...