Я делаю страницу сайта для школы, где человек может указать две даты:
- день начал работать в компании
- день перестал работать на компанию (когда заканчивается контракт)
эти дни заполняются в формате MM-DD-YYYY
Когда человек вводит дату начала, он вычисляет следующую формулу: "отработанные дни = сегодняшняя дата - дата, когда человек начал работать" после этого он вычисляет ее в днях, а не в миллисекунды (отработано дней/1000/60/60/24).
Теперь мне нужно избавиться от Saturday
и Sunday
каждой недели, когда работал один человек.
Редактировать: исправлено, всем спасибо
Код JavaScript
function days_of_a_year(year) { return isLeapYear(year) ? 366 : 365; }
function isLeapYear(year) { return year % 400 === 0 || (year % 100 !== 0 && year % 4 === 0); }
var year = moment().year();
var days_year = days_of_a_year(moment().year());
$(document).ready(function(){
$(".form-control").keyup(function(){
//get
var leave_days = $('#leave_days').val(),
leave_hours = $('#leave_hours').val(),
hours_employee_week = $('#hours_employee_week').val(),
hours_week = $('#hours_week').val(),
date_employed = $('#date_employed').val(),
date_unemployed = $('#date_unemployed').val(),
start = new Date(date_employed),
end = new Date(date_unemployed),
diff = new Date(end - start),
days = Math.round(diff/1000/60/60/24),
now = new Date(),
days_worked = new Date(now - start),
year = moment().year();
var leave_hours_full = leave_days * leave_hours;
var perc_employment = hours_employee_week / hours_week * 100;
var leave_hours_year = leave_hours_full * (hours_employee_week / hours_week);
var days_worked_year = Math.round(days_worked/1000/60/60/24);
console.log(parseInt(days_worked_year));
$('#days_worked_year').val(days);
$('#days_full_year').val(days_year);
$('#perc_worked_year').val(days_worked_year);