ercan yazdı:Anlatayım Çetin hocam
(öncelikle 1/1/2011 yılının takvimini ekrana getirin.)
1/1/2011 tarihi 2011 yılının ilk haftasının ilk ve son günü. değil mi?
1 gün ileri gitseniz 2. hafta oluyor. değil mi?
halbuki sadece 1 gün ileri gittik fakat buna rağmen 1 hafta ileri atlıyor.
tarihi 1 gün geri alınca geçen yılın 52. haftası oluyor.
dolayısıyla 2011 yılının sadece 1. günü , 1. haftası oluyor. 2. gün 2. haftaya atlıyor.
Umarım dilim dolaşmadan anlatabildim.
Ya da şöyle bir soru sorayım:2011 yılının ocak ayının ilk haftasının 2. ya da 3. günü hangi gündür?
"1/1/2011 tarihi 2011 yılının ilk haftasının ilk ve son günü. değil mi?"
Degisir. Ilk hafta biraz kisisel bir kavram. VFP'nin yardim dosyasinda da bu durum belirtiliyor:
1 Ilk hafta 1 Ocak'i icerir.
2 Ilk haftanin buyuk bolumu (4 gun) o seneye dahildir.
3 Ilk haftanin 7 gunu vardir.
3.parametre de haftanin ilk gunu belirtmene izin veriyor.
1/1/2011 2011 yilinin ilk haftasi olsa bile, ilk ve son gunu demek degil. Kural hafta Pazartesiden baslar ise, 3 Ocak'ta ilk hafta baslar. 1 ve 2 Ocak 2010 yilinin son haftasina aittir.
Isi karmasiklastirmanin anlami da yok zaten. Haftalar yillara ait olmayan 7 gunluk bloklar. Yilin ilk haftasi gibi ayin ilk haftasi demeye baslaninca o zaman daha da karisacak, bu durum aylar icin cok daha fazla goruluyor.
2. 3. gunlerini sorman gerekiyorsa sen kural olarak:
-o haftanin 7 gunu oldugunu
-cumartesinin haftanin son gunu
oldugunu varsayiyorsun.
"halbuki sadece 1 gün ileri gittik fakat buna rağmen 1 hafta ileri atlıyor." Bir hafta atlamiyor, bir sonraki haftaya geciyor diyebilirsin, hafta 7 gun, 7 gun atlamiyor.
31 Aralik'tan da 1 gun ileri gidersen bir sonraki seneye gecer, bir sene atlamaz. Yoksa o mantikla 31 Aralik ile 1 Ocak arasi 1 sene ya da 1 ay ya da 1 haftadir denebilirdi.
Cumartesi gunu ise baslayan ve haftalik pesin maas alan birisi icin hafta daima Cumartesi gunu baslar ve daima 7 gundur. 2011 yilinin ilk gunu maas alir ama, 2010 yilinin ilk gunu almaz. Yani onun icin iki yilin ilk haftasi farkli tarihlerde baslar. 2010 yilinin ilk gunu onun icin 2009 yilinin 53.haftasidir. Bu da sanki 1 yil 52 haftadir demekle celisiyor gibi duruyor ama ne bir yil 52 haftadir, ne de 1 ay 4 haftadir.
Uzun lafin kisasi, week() parametreleriyle esneklik sagliyor.