Konu: Hafta hesabı
selamlar;
3 yildir tarih in haftaya çevrimi konusunda sıkıntılar yaşamaktayım.
Üstüne üstlük bir de hesapladığım haftanın +5 veya -5 gibi arttırılıp eksilmesi gibi hesaplamalar yapma ihtiyacı hisstemekteyim.
Sorunun özünde yıl başlarındaki 52,53,1 haftalarda yaşanmakta.
1. Aşağıdaki kodu çalıştırdığınızda 1/1/2008 tarihinin karşısında 08-53 göreceksiniz. Bu tarihin aslında hafta bitmediği için 1/1/2008 -07-53 olması gerekmektedir.
2. Diyelimki 08-03 haftasının -5 hafta değerini 07-51 olması gerekmekte.
Bu gün aşağıdaki kodu yazdım. İçinde problenmi yerleri elle düzelterek bundan sonraki hesaplamalarımı aşağıdaki table ın içinden aratrak hesaplatmayı düşünüyorum.
Bu konularda farklı bir çözümü olan yada önerisi olan varmı?
CREATE CURSOR haftaa(tarih d,yil N(4),hafta N(2),gun N(1),gunaciklama c(15),thafta c(5),sira i)
FOR a=1 TO 4000
Lchafta=DATE(2005,12,31)+a
Lchaftayaz=ALLTRIM(RIGH(STR(YEAR(Lchafta)),2))+"-"+PADL(ALLTRIM(STR(WEEK(Lchafta,3,2),2,2)),2,"0")
INSERT INTO haftaa(tarih,yil,hafta,gun,gunaciklama,thafta,sira);
VALUES (Lchafta,YEAR(Lchafta),WEEK(Lchafta,3,2),DOW(Lchafta,2),;
CDOW(Lchafta),Lchaftayaz,a)
ENDFOR
BROW