çok basit bir fonksiyonla işi çözebilirdin. php ile nasıl yazılabileceğini şimdi yazamayacağım ama,
i= kaç iş günü geçmesi isteniliyorsa while (i!=0) if girişgünü.günadı veya hafta gün sayısı!=pazar veya girişgünü.günadı veya hafta gün sayısı!=c.tesi giriş gününe bir gün ekle i den 1 çıkar end if end while i o olunca döngüden çıkar sende çıkış gününü funksiyonun cevabı olarak dönersin. 2011/8/5 Nuri AKMAN <[email protected]> > Arkadaşlar, > > Hatayı buldum ve aşağıdaki kod işimi gördü. Bilginize... > > Selamlar, > Nuri Akman > > <?php > > > echo "<br>2011-08-01 ==> " . BitisTarihiHesapla("2011-08-01", ""); > echo "<br>2011-08-02 ==> " . BitisTarihiHesapla("2011-08-02", ""); > echo "<br>2011-08-03 ==> " . BitisTarihiHesapla("2011-08-03", ""); > echo "<br>2011-08-04 ==> " . BitisTarihiHesapla("2011-08-04", ""); > echo "<br>2011-08-05 ==> " . BitisTarihiHesapla("2011-08-05", ""); > echo "<br>2011-08-06 ==> " . BitisTarihiHesapla("2011-08-06", ""); > echo "<br>2011-08-07 ==> " . BitisTarihiHesapla("2011-08-07", ""); > echo "<br>2011-08-08 ==> " . BitisTarihiHesapla("2011-08-08", ""); > echo "<br>2011-08-09 ==> " . BitisTarihiHesapla("2011-08-09", ""); > echo "<br>2011-08-10 ==> " . BitisTarihiHesapla("2011-08-10", ""); > > echo "<br>Bitti..."; > > function BitisTarihiHesapla($BaslamaTarihi, $BitisTarihi) { > $IsGunuSayisi = 2; > if($BitisTarihi == "") { > $BitisTarihi = $BaslamaTarihi; > for($i=0; $i<$IsGunuSayisi; $i++) > $BitisTarihi = date("Y-m-d", > SonrakiIsGunu(strtotime($BitisTarihi))); > } > return $BitisTarihi; > } > > function SonrakiIsGunu($tarih) { > $SonrakiGun = strtotime("midnight +1 day", $tarih); > $d = date("w", $SonrakiGun); > if($d == 0 || $d == 6) $SonrakiGun = strtotime("midnight next monday", > $SonrakiGun); > return $SonrakiGun; > } > > ?> > > > > 2011/8/4 Adem Alp YILDIZ <[email protected]> > >> $hicigun 1 yapınca 1 günde sorun oluyor >> >> >> >>> function gunsonra($simdi,$fark) >>> { >>> $hicigun = 0; >>> $islem = strtotime($simdi); >>> do{ >>> $islem = strtotime("+1 day",$islem); >>> $gun = strftime("%w",$islem); >>> >>> if($gun != 0 && $gun !=6 ) >>> $hicigun++; >>> >>> }while($hicigun != $fark); >>> >>> return $islem; >>> } >>> $gun = "2011-08-01"; >>> >>> foreach(range(1,10) as $fark) >>> echo strftime("$gun $fark %d.%m.%Y %A \n",gunsonra($gun,$fark)); >> >> >> kodun çıktısı >> >> 2011-08-01 1 02.08.2011 Tuesday >> 2011-08-01 2 03.08.2011 Wednesday >> 2011-08-01 3 04.08.2011 Thursday >> 2011-08-01 4 05.08.2011 Friday >> 2011-08-01 5 08.08.2011 Monday >> 2011-08-01 6 09.08.2011 Tuesday >> 2011-08-01 7 10.08.2011 Wednesday >> 2011-08-01 8 11.08.2011 Thursday >> 2011-08-01 9 12.08.2011 Friday >> 2011-08-01 10 15.08.2011 Monday >> >> >> _______________________________________________ >> Linux-programlama mailing list >> [email protected] >> https://liste.linux.org.tr/mailman/listinfo/linux-programlama >> Liste kurallari: http://liste.linux.org.tr/kurallar.php >> >> > > _______________________________________________ > Linux-programlama mailing list > [email protected] > https://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php > >
_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
