Konu: tarih saat yuvarlama
selamlar;
DATETIME(2007,11,10,7,35) bunu 08:00 a, DATETIME(2007,11,10,18,15) bunu 18:00 a nasıl yuvarlaya bilirirm.
Giriş yapmadınız. Lütfen giriş yapın yada kayıt olun.
selamlar;
DATETIME(2007,11,10,7,35) bunu 08:00 a, DATETIME(2007,11,10,18,15) bunu 18:00 a nasıl yuvarlaya bilirirm.
saat hanesini ayırarak yapabilirsin.
if dakika >=30 ise ve saat<23
saat=saat+1
dakika=0
endif
if dakika >=30 ise ve saat=23
saat=0
dakika=0
endif
if dakika <=30 ise ve saat=0
saat=0
dakika =0
endif
if dakika <=30 ise ve saat<=23
saat=saat-1
dakika =0
endif
gibi. şartlar tam uymayabilir ama demek istediğim bu.
?TamSaat(DATETIME(2007,11,10,7,35))
?TamSaat(DATETIME(2007,11,10,18,15))
FUNCTION TamSaat(ttTime)
LOCAL ltTime
ltTime = DTOT(TTOD(m.ttTime))
RETURN m.ltTime + ROUND((m.ttTime - m.ltTime)/3600,0)*3600
günaydın.
Hocam süpersiniz ellinize sağlık.
arkadaşlar ufak bir hata yaomışım.
DATETIME(2007,11,10,7,35) bunu 08:00 sorun yok.
DATETIME(2007,11,10,18,15) bunu 18:30 a nasıl yuvarlaya bilirirm.
ben aslında saatlerin yarım saat yukarı yuvarlanmasını istiyordum.
2 dakika sonra doğru cevabı buldum.
?YarimSaat(DATETIME(2007,11,10,7,15))
?YarimSaat(DATETIME(2007,11,10,18,59))
FUNCTION YarimSaat(ttTime)
LOCAL ltTime
ltTime = DTOT(TTOD(m.ttTime))
RETURN m.ltTime + CEILING((m.ttTime - m.ltTime)/1800)*1800
Bulmussun o zaman bence jenerik yap fonksiyon adı degiştireceğine:
?SaatYuvarla(DATETIME(2007,11,10,7,17)) && varsayılan 1 saat
?SaatYuvarla(DATETIME(2007,11,10,7,17),3600)
?SaatYuvarla(DATETIME(2007,11,10,7,17),1800)
?SaatYuvarla(DATETIME(2007,11,10,7,17),900)
?SaatYuvarla(DATETIME(2007,11,10,18,59))
FUNCTION SaatYuvarla(ttTime, tnSeconds)
LOCAL ltTime
tnSeconds = evl(m.tnSeconds,3600) && varsayılan 1 saat
ltTime = DTOT(TTOD(m.ttTime))
RETURN m.ltTime + round((m.ttTime - m.ltTime)/m.tnSeconds,0)*m.tnSeconds
Not: Ceiling degil round.
Yukarı demissin o zaman ceiling() akla yakın. Ya da onu da parametre yap:) Asagı,yukarı,round:)
Hocam aslında hepsini yaptın.
Sizin gönderdiğini koda yakın oldu neredeyse. Çok Teşrkkürler.