iki tarih arasındaki çalışma gün sayısı
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: iki tarih arasındaki çalışma gün sayısı
@lostsoul;
isterse aradaki fark iki yıl olsun. TatilGunumu metodu için önemli olan gün ve ay. üstelik bu durumda kullanıcının verilen tarih aralığındaki tüm resmi tatilleri hesaplayıp parametre olarak vermesi gerekiyor.
isterse aradaki fark iki yıl olsun. TatilGunumu metodu için önemli olan gün ve ay. üstelik bu durumda kullanıcının verilen tarih aralığındaki tüm resmi tatilleri hesaplayıp parametre olarak vermesi gerekiyor.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: iki tarih arasındaki çalışma gün sayısı
bütüm bayramları miladi takvime dayalı bir ülke olsaydık dediklerin doğru olurdu amaaslangeri yazdı:@lostsoul;
isterse aradaki fark iki yıl olsun. TatilGunumu metodu için önemli olan gün ve ay. üstelik bu durumda kullanıcının verilen tarih aralığındaki tüm resmi tatilleri hesaplayıp parametre olarak vermesi gerekiyor.
gel gör ki ramazan ve kurban bayramı tatilleri her yıl 11 gün geriye atıyor

ondan dolayı her yılın 30 Ağustosu zafer bayramıdır dediğimiz gibi
her yılın 16 Kasımı kurban bayramıdır diyemeyiz. ondan dolayı yılı da belirtmek gerekir.
eğer kullanıcı tarih aralığını aynı yıl içinden seçecek ise dediğin doğru ay ve gün belirtmesi yeterli olacak.
ama tarih aralığının başlangıcı 2010 dan sonu 2011 den veriflecek ise yıl ile verilmesi gerekir elbet.
e tabi bu fonksiyon genel amaçlı yazılmış bir fonksiyon.
isteyen kendine göre değiştirsin dimi ama

Re: iki tarih arasındaki çalışma gün sayısı
Kod: Tümünü seç
const
resmitatilsayisi=6;
resmitatiller:array[1..resmitatilsayisi]of string[6]=
('01.01','23.04','01.05','19.05','30.08','29.10');
function tatiledenkgeliyormu(tarih:tdatetime):Boolean;
var
i:byte;
begin
result:=(DayOfWeek(tarih)=1) or (DayOfWeek(tarih)=7);
if not result then
begin
//resmi tatil günlerini kontrol et
for i:=1 to resmitatilsayisi do
result:=result or (tarih=strtodate(resmitatiller[i]+formatdatetime('.YYYY',date)));
end;
end;
procedure TForm6.Query1CalcFields(DataSet: TDataSet);
var
t1,t2:Tdate;
Gun,I,calisma:Integer;
begin
t1:=query1otarih.AsDateTime;
t2:=query1btarih.AsDateTime;
Gun:=daysbetween(t2,t1); // iki tarih arası gün farkı
calisma:=0;
FOR I:=1 To gun do
begin
if tatiledenkgeliyormu(t1)=false then
begin
calisma:=calisma+1;
end;
IncDay(t1);
end;
query1gun.value:=calisma;
end;
Değişkenleri showmessage ve edite yazdırdım sorun yok gibi,Sorun nerde; Daha Hafta sonu ve değişmeyen tatil günlerini halledemedim ki dini taillere geçeyim.
Re: iki tarih arasındaki çalışma gün sayısı
farketmezki miladitohicri isimli bir metod ile miladi takvim hicri takvime çevrilir. dini bayram günleri kontrol edilir....bütüm bayramları miladi takvime dayalı bir ülke olsaydık dediklerin doğru olurdu ama
gel gör ki ramazan ve kurban bayramı tatilleri her yıl 11 gün geriye atıyor...
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: iki tarih arasındaki çalışma gün sayısı
Kod: Tümünü seç
IncDay(t1); yerine t1:=t1+1;
önerisi ile dini bayramları veritabanından almayı düşünüyorum daha pratik bir fikir gelene kadar.mkysoft » 13 Nis 2010 02:13
Bakanlar kurulu karar alarak calisma gununu tatil edebiliyor. Sizde biliyorsunuz ki bazen bayramlara gun ekleniyor. Bu nedenle kesin bir kurali yok. Veri tabaninda tutarak kullanicilarin yeni tatil ekleyebilmesini saglayabilirsiniz.
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: iki tarih arasındaki çalışma gün sayısı
Benim http://www.yusufakgul.com/Download.asp sayfasında asistan programı var ben orda yıl bazında bu işi yaptırıyordum.

---

Yukarda dediğim gibi dll dosyasını kullanarak dini günleri bulabilirsiniz,
sonra döngü içinde tek tek tarihleri kontrol ettirmeniz lazım.
Tatil günlerini veritabanı yada dosyadan alabilirsiniz.
Önceden bunların(Dini ve resmi tatil günlerinin) tanımlanması lazım

---

Yukarda dediğim gibi dll dosyasını kullanarak dini günleri bulabilirsiniz,
sonra döngü içinde tek tek tarihleri kontrol ettirmeniz lazım.
Tatil günlerini veritabanı yada dosyadan alabilirsiniz.
Önceden bunların(Dini ve resmi tatil günlerinin) tanımlanması lazım
Re: iki tarih arasındaki çalışma gün sayısı
s.a.
normalde miladi takvime göre bir günün hicri takvimdeki hangi güne denk geldiğini nasıl buluyorsunuz?
aynısını uygulayın.
normalde miladi takvime göre bir günün hicri takvimdeki hangi güne denk geldiğini nasıl buluyorsunuz?
aynısını uygulayın.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim