Javascript ile İki Tarih Arasındaki toplam gün sayısı hesaplama fonksiyonları ve anlatımları oldukça mevcut. Yalnız iki tarih arasındaki çalışma günlerini nasıl hesaplayacağız? Yani cumartesi ve pazar günlerini dahil etmeden hesap yapalım.
Kodun kısa açıklamasını yapacak olursak, başlangıç ve bitiş tarihleri textbox’lardan alınıyor. Alınan tarih formatı dd.mm.yyyy olduğundan javascript tarih formatına dönüştürülüyor yani mm/dd/yyyy. Haftanın günleri days dizinde tanımlanıyor. days dizisinde Cumartesi ve Pazar günlerine denk gelen günlerin karşılığı N, diğer günlerin karşılığı Y olarak belirleniyor. Son olarak da başlangıç tarihi bitiş tarihine eşit olana kadar Y olan günler toplanıp iş günü textbox’unun değerine atanıyor.
JS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
function GunHesapla() { var date = document.getElementById('ContentPlaceHolder1_txt_STarih').value; var date1 = date.split('.')[1] + "/" + date.split('.')[0] + "/" + date.split('.')[2]; date = document.getElementById('ContentPlaceHolder1_txt_ETarih').value; var date2 = date.split('.')[1] + "/" + date.split('.')[0] + "/" + date.split('.')[2]; var days = ['N', 'Y', 'Y', 'Y', 'Y', 'Y', 'N']; var d1 = new Date(date1); var d2 = new Date(date2); var isGunu = 0; while (true) { if (d1 > d2) { break; } var dayName = days[d1.getDay()]; if (dayName != "N") { isGunu++; } d1.setDate(d1.getDate() + 1); } document.getElementById('ContentPlaceHolder1_txt_IsGunu').value = isGunu.toString(); } |
merhaba hocam izin programı yapmaya çalışıyorum mvc ile ama izin başlama ve izin süresini girince otamtik bitiş tarihini yazdırmaya çalışıyorum ama olmadı yardım edermisiniz.
$(function () {
$(“#izinSuresi”).blur(function () {
var date = new Date($(“#izinBaslamaTar”)) // datepicker
var day = parseInt($(“#izinSuresi”) //textboxfor
date.setDate(date.getDate() + day)
$(“#izinBitisTar”).val(date) //textboxfor
});
})
Merhabalar, aşağıdaki şekilde yaparsanız çalışacaktır.
//script
$(document).ready(function () {
$(“#izinSuresi”).on(‘input’,function (e) {
var date = new Date($(“#izinBaslamaTar”).val()); // datepicker
var day = $(“#izinSuresi”).val(); //textboxfor
date.setDate(date.getDate() + parseInt(day));
var futDate=date.getDate() + “.” + (date.getMonth()+1) + “.” + date.getFullYear();
$(“#izinBitisTar”).val(futDate); //textboxfor
});
});
Merhaba Hocam. Benimde Yapmak istediğim birşey var fakat ne yaptıysam olmadı. her seferinde yanlış çalıştı..
tahmini kargo veriliş tarihi şeklinde bir zaman hesaplaması yapmak istiyorum. bir sayfa hazırladım ürünlerin kargoya verilme tarihi değişken her ürün bazında kimisi 3 gün kimisi 15 kimisi 5-7 gün lütfen yardım edermisiniz. şimdiden çok teşekkürler