JSFiddle - React, Tailwind, and code Playground
HTML
<label for="rabotaZapochva" style="display:inline;">РАБОТА ЗАПОЧВА:</label>
<select name="rabotaZapochva" id="rabotaZapochva" style="display: inline;width: 90px;font-size: 19px;font-weight: bold;">
...
JavaScript
$(document).ready(function() {
$("#rabotaZapochva").change(workingAtNight);
$("#rabotaShvyrshva").change(workingAtNight);
});
function workingAtNight () {
var start_time = $('#rabotaZapochva').val();
var end_time = $('#rabotaShvyrshva').val();
if(end_time > "06:00" && end_time < "22:00"){
end_time = "06:00";
}
if((end_time > "22:00") || (end_time < "06:00")){
if(start_time > "22:00" || (start_time > "00:00" && start_time < "06:00")){
start_time = $('#rabotaZapochva').val();
}
else{
start_time = "22:00";
}
}
else{
start_time = $('#rabotaZapochva').val();
}
var diff = ( new Date("1970-1-1 " + end_time) - new Date("1970-1-1 " + start_time) ) / 60000 / 60;
if(diff > 8){
diff = diff - 16;
}
var sumaNoshtenTrud = 0;
var decimalTimeString = diff;
var n = new Date(0,0);
n.setSeconds(+decimalTimeString * 60 * 60);
var test = n.toTimeString().slice(0, 5);
if(test > "08:00"){
test = "08:00";
}
if(start_time >= "06:00" && start_time < "22:00"){
test = "00:00";
}
$('#noshtenTrud').val(test);
};