1

Konu: tarih işlemleri ile ilgili

smile
tarih alanına 3 ay eklemek istiyorum. bunu yapabiliyorum. fakat 10 ayda 3ay ilave edince hata alıyorum.
örneğin 01.10.2007 tarihine 3 ay ilave etmme lazım sonuç olarak 01.01.2008 değerini almam lazım. direk date fonksşyonuna 3 ay ilave etme şansım varmı
teşekür ederim

2

Re: tarih işlemleri ile ilgili

tarihx=ctod("01.10.2007")
yenitarihx=gomonth(tarihx,3)

3

Re: tarih işlemleri ile ilgili

Bunun yerine gün eklemek daha doğru olmaz mı 90 gün gibi. Çünkü 30 11 2008 e 3 ay ekleyince nereye gitmesini istediğinizi anlamak zor olur. Oysa 90 gün eklerseniz mesele net olur diye düşünüyorum.

SET DATE FREN
tarihx = CTod("30/11/2008")
yenitarih = tarihx+90
? yenitarih
gibi ....

4

Re: tarih işlemleri ile ilgili

üsdatlar seçilen ayın içerisinde kaç gün olduğunu hesaplayan fonksiyon varmı?

En büyük sermaye nakit,nakit sermaye vakittir...

5 Son düzenleyen, river (18.06.2008 17:16:59)

Re: tarih işlemleri ile ilgili

Üstadım ben kendim için böyle çözdüm. Class içinde olduğundan her yerden ulaşabiliyorum ve sadece MonthDays property sinin n. elemanının 1. bileşenini istiyorum. 2. bileşende bana lazım başka bir şey var. sen burada property 12,2 lik değil sadece 12 lik açıp n. eleman = ilgili ay olarak bile kullanabilirsin.



Visual Fox Pro
This.MonthDays(1,1) = 31

This.MonthDays(2,1) = 28
This.UpdFebrdays(YEAR(DATE()))
This.MonthDays(3,1) = 31
This.MonthDays(4,1) = 30
This.MonthDays(5,1) = 31
This.MonthDays(6,1) = 30
This.MonthDays(7,1) = 31
This.MonthDays(8,1) = 31
This.MonthDays(9,1) = 30
This.MonthDays(10,1)= 31
This.MonthDays(11,1)= 30
This.MonthDays(12,1)= 31
 
 
 
*Method UpdFebrDays
PARAMETERS _YearFor
 
IF MOD(_YearFor,4) = 0
    This.MonthDays(2,1) = 29
ELSE
    This.MonthDays(2,1) = 28
ENDIF

6

Re: tarih işlemleri ile ilgili

benzer bilgiler: http://www.fox4um.com/viewtopic.php?id=590

VFP9 SP2

7

Re: tarih işlemleri ile ilgili

neyzen yazdı:

üsdatlar seçilen ayın içerisinde kaç gün olduğunu hesaplayan fonksiyon varmı?


Sadece ay secemezsin subat ise, yili da lazim:)

Visual Fox Pro
function GunSayisi( tnMonth, tnYear )

tnYear = evl(m.tnYear, year( date() ))
return day( GoMonth( date(m.tnYear, m.tnMonth, 1), 1) - 1 )

Herhangi bir tarih verildiginde o tarihin icinde oldugu ayin son gunu:

Visual Fox Pro
GoMonth(m.ldDate, 1) - day(GoMonth(m.lddate, 1))

8

Re: tarih işlemleri ile ilgili

river yazdı:

Üstadım ben kendim için böyle çözdüm. Class içinde olduğundan her yerden ulaşabiliyorum ve sadece MonthDays property sinin n. elemanının 1. bileşenini istiyorum. 2. bileşende bana lazım başka bir şey var. sen burada property 12,2 lik değil sadece 12 lik açıp n. eleman = ilgili ay olarak bile kullanabilirsin.



Visual Fox Pro
*Method UpdFebrDays

PARAMETERS _YearFor
 
IF MOD(_YearFor,4) = 0
    This.MonthDays(2,1) = 29
ELSE
    This.MonthDays(2,1) = 28
ENDIF


Murat,
4 e bolunebilen her yil 29 cekmiyor.

IF MOD(_YearFor,4) = 0 and ( _YearFor % 100 <> 0 or _YearFor % 400 = 0 )

9

Re: tarih işlemleri ile ilgili

Hehe. bu birkaç yıl önce olmuştu. hatırlıyorum. bazı programlar bu yüzden çuvalladı...

cetinbasoz yazdı:

...Murat,
4 e bolunebilen her yil 29 cekmiyor.

IF MOD(_YearFor,4) = 0 and ( _YearFor % 100 <> 0 or _YearFor % 400 = 0 )

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

10

Re: tarih işlemleri ile ilgili

:-) valla bende çuvallamıştım ne yalan söyleyim.Sonra düzelttim hehe :--))

En büyük sermaye nakit,nakit sermaye vakittir...

11

Re: tarih işlemleri ile ilgili

üsdatlar tarih "20.12.2008" olsun. Seçilen gün den sonra ay içerisinde kaç hafta sonu olduğunu(cumartesi ,pazar) bulabileceğim fonkiyon var mı?

En büyük sermaye nakit,nakit sermaye vakittir...

12 Son düzenleyen, konuka (24.06.2008 13:21:28)

Re: tarih işlemleri ile ilgili

umarım soruyu doğru anladım ?:]

Visual Fox Pro
PARA Xtarih

m.haftasay=0
m.ay=MONTH(m.Xtarih)
DO WHIL m.ay=MONTH(m.Xtarih)
  IF DOW(m.Xtarih,7)=7 OR  DOW(m.Xtarih,7)=1 && haftanın ilk günü Cumartesi,
                                                    && Cumartesiyi veya Pazarı bul
    m.haftasay=m.haftasay+1
    m.Xtarih=m.Xtarih+1 && ilk Cumartesi bulunduğundan Pazarı atlasın
  ENDI
m.Xtarih=m.Xtarih+1
ENDD
RETU m.haftasay


doğru anlamışım ... sevgiler

VFP9 SP2

13

Re: tarih işlemleri ile ilgili

konuka  verdiğin bilgi için öncelikle teşekkür ederim.Yukarıdaki örnekte ayın 12 sinde sonra geriye dikkat edersen 18 gün kalıyor(1 ayı 30 gün kabul edersek).bu geriye kalan 18 gün içerisinde kaç cumartesi ve pazar var diye sormuştum :-)

En büyük sermaye nakit,nakit sermaye vakittir...

14

Re: tarih işlemleri ile ilgili

Visual Fox Pro
local ilkCumartesi, cmt, pz,ix

store 0 to cmt,pz
ilkCumartesi = date() - Dow(date(),1) + 7
for ix = 0 to 5
if month(m.ilkCumartesi + m.ix * 7) = month(date())
   cmt = m.cmt + 1
endif
if month(m.ilkCumartesi + m.ix * 7 + 1) = month(date())
   pz = m.pz + 1
endif
endfor
? m.cmt, 'Cumartesi', m.pz, 'Pazar'

Bugun cumartesi veya pazar ise koyacak misin, onu dusun. Topu topu maximum 5 olabileceginden kod optimize etmeye degmez.

15

Re: tarih işlemleri ile ilgili

çetin hocam bu işimi gördü. çok çok teşekkür ederim

En büyük sermaye nakit,nakit sermaye vakittir...

16

Re: tarih işlemleri ile ilgili

neyzen yazdı:

çetin hocam bu işimi gördü. çok çok teşekkür ederim


ukalalık yapmak istemem ama bu derecedeki fonksiyonları kendiniz yazın ki programcılığınız gelişsin. bunları vasat bir programcının yazabilmesi gerekli. tamam uğraşırsın ama öğrendiğini unutmazsın. bence biraz zorlayın.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

17

Re: tarih işlemleri ile ilgili

:-) metin üsdat,ben bu soruyu fox pro da hazır fonksiyonlar belki vardır diye(ctod,dow gibi) sormuştum.Yoksaki kodlama ile bunu çözmenin n tane yolu var.Belki bizim bilmediğimiz çok kullanmadığınız komutlar vardır diye düşündündüğümüzden sordum.Eksik olmasın çetin hocam zahmet etmiş,soruna herzamanki farklı yaklaşımı ile noktayı koymuş.Ayrıyeten senin görüşlerine aynen katılıyorum.Ne demişler Bin bilsen de bir bilene sor :-)

En büyük sermaye nakit,nakit sermaye vakittir...

18

Re: tarih işlemleri ile ilgili

neyzen yazdı:

:-) metin üsdat,ben bu soruyu fox pro da hazır fonksiyonlar belki vardır diye(ctod,dow gibi) sormuştum.Yoksaki kodlama ile bunu çözmenin n tane yolu var.Belki bizim bilmediğimiz çok kullanmadığınız komutlar vardır diye düşündündüğümüzden sordum.Eksik olmasın çetin hocam zahmet etmiş,soruna herzamanki farklı yaklaşımı ile noktayı koymuş.Ayrıyeten senin görüşlerine aynen katılıyorum.Ne demişler Bin bilsen de bir bilene sor :-)


pardon. zaten sorunda fonksiyon var mı demişsin ama ben dikkatsiz okumuşum... sad

bence foxpro'da yeterince fazla fonksiyon var. mesela ltrim,rtrim ayrı ayrı var. bir çok dilde sadece trim vardır ya da o bile yoktur...

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

19

Re: tarih işlemleri ile ilgili

konuya girildi diye yazıyorum.:
ben "umarım soruyu doğru anladım" ifadesinde kod ile çözümü zaten bu platformda soru soran bir programcının yapacağından çıkışla sormuştum.  Altındaki kodu da çekine sıkıla yazmıştım.
sevgiler

VFP9 SP2