JSFiddle - React, Tailwind, and code Playground

by Patrick Robles

HTML

No. Of Working Days:<input type="number" data-id="'.$getEmpId.'" min="0" step="0.5" value="0" name="noOfWorkingDays" id="noOfWorkingDays">
<br><br>
From:<input type="date" name="dateOfLeaveFrom" id="dateOfLeaveFrom">
To:<input type="date" name="dateOfLeaveTo" id="dateOfLeaveTo" class="form-control" readonly>

JavaScript

$('#noOfWorkingDays,#dateOfLeaveFrom').blur(function() {
    
    var inc = $('#noOfWorkingDays').val();
	var dateFrom = $('#dateOfLeaveFrom').val();
	var date_arr = dateFrom.split('-');
	var day = parseFloat(date_arr[2]) + parseFloat(inc);
    alert("raw:" + day);
	var now = new Date();
	var time = now.toLocaleTimeString().replace(/:\d+ /, ' ');
	var time_arr = time.split(' ');    
	alert(time_arr[1]);
	if(time_arr[1] == 'PM'){
		day = day + 0.5
        alert("final:" + day);
	}
	else if (time_arr[1] == 'AM' && day == parseFloat(date_arr[2]) + 0.5){
		day = parseFloat(date_arr[2]);
        alert("NO!");
	}
					
    var newDate = new Date(date_arr[1]+'-'+ day + '-' + date_arr[0]);
	var weekDay = getWeekDay(newDate);
    
	if(weekDay == 'Sat'){
		day = day + 2;
	}
    else if(weekDay == 'Sun'){
						
		day = day + 2;
	}
	alert(day);
	var finaldate= new Date(date_arr[0] + '-' +date_arr[1]+'-'+ day);
	var formatDate = finaldate.toISOString().slice(0, 10).replace(/-/g, '-');
	$('#dateOfLeaveTo').val(formatDate);
});

function getWeekDay(date) {
	var days = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat']
	return days[ date.getDay() ]
}