• 30-04-2010, 18:44:07
    #1
    Merhaba şimdi ben,01-01-2010 ile 02.02.2010 tarihleri arasında kaç gün olduğunu bulmak istiyorumda,mktime falan kullandım,ancak aşağıdaki sonucu elde ettim,sizler ne önerirsiniz ?,nasıl bir yapıda kullanmalıyım ?

    1.099524566592E+14 Gün Kaldı

    <?php
    class PersonelSureKont {
        public $Uid;
        public $Baslangic;
        public $Bitis;
        private $Donusmus_Baslangic;
        private $Donusmus_Bitis;
        private $Simdi;
        private $Durum;
        private $MkBaslangic;
        private $MkBitis;
        private $Now;
        function Donustur() {
            $this->Donusmus_Baslangic=date('d-m-Y', $this->Baslangic);
            $this->Donusmus_Bitis=date('d-m-Y',$this->Bitis);
        }
        function Hesapla() {
            if ($this->Simdi >= $this->Donusmus_Bitis) {
                $this->Durum="sil";
            }else{
                $this->Durum="silme";
            }
            //Ne kadar süresi kaldığını hesapla
        }
        function KacGunKaldi() {
            $this->MkBaslangic=mktime($this->Donusmus_Baslangic);
            $this->MkBitis=mktime($this->Donusmus_Bitis);
            $this->MkBaslangic=$this->MkBaslangic*60*60*24;
            $this->MkBitis=$this->MkBitis*60*60*24;
            $this->Now=mktime(time());
            echo $this->MkBitis-$this->Now." Gün Kaldı";
        }
    }
    ?>
    Şu şekilde kullandım

    <?php
    include('personelzamankontrol_class.inc');
    include('../../component/config.php');
    
    $new=new PersonelSureKont();
    $new->Baslangic=1272381711;
    $new->Bitis=1278429711;
    $new->Donustur();
    $new->KacGunKaldi();
    ?>
  • 30-04-2010, 19:53:15
    #2
    Üyeliği durduruldu
    mktime kullanimin yanlis :P
  • 30-04-2010, 21:13:19
    #3
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    mktime kullanimin yanlis :P
    Hehe cevzde gördüm incelcem ama mktime yanlış bir tercih gibi geliyor bana php.net ten baktım buraya uygun gelmedi bana sanki...
  • 30-04-2010, 21:33:57
    #4
    Üyeliği durduruldu
    http://php.net/DateTime

    bu sınıfı incelerseniz bu olayın bu kadar karmaşık olmadığını görürsünüz (:
  • 30-04-2010, 23:01:08
    #5
    DATEDIFF öneririm arkadaşım
  • 01-05-2010, 11:00:08
    #6
    <?php
    	$gun1 = mktime(0,0,0,01,02,2010);
    	$gun2 = mktime(0,0,0,02,02,2010);
    	$son = $gun2 - $gun1;
    	echo floor($son / (60*60*24));
    ?>
  • 01-05-2010, 11:24:31
    #7
    <?php
    
    class suresayac
    {
        function baslat()
        {
            global $baslangic;
            $msure = microtime ();
            $msure = explode (' ', $msure );
            $msure = $msure[1] + $msure[0];
            $baslangic = $msure;
        }
        function bitir()
        {
            global $baslangic;
            $msure = microtime ();
            $msure = explode (' ', $msure);
            $msure = $msure[1] + $msure[0];
            $bitis = $msure;
            $toplam = round (($bitis - $baslangic), 5);
            return $toplam;
        }
    }
    
    
    
    
    //Kullanim
    
    $sure = new suresayac;
    $sure->baslat();
    
    
    //Sayfa iceriginiz buraya...
    
    echo "<p>Sayfa yüklenme süresi: ". $sure->bitir()
    ." saniye</p>";
    
    ?>
  • 01-05-2010, 12:01:42
    #8
    ByTriSLaSiS adlı üyeden alıntı: mesajı görüntüle
    <?php
    
    class suresayac
    {
        function baslat()
        {
            global $baslangic;
            $msure = microtime ();
            $msure = explode (' ', $msure );
            $msure = $msure[1] + $msure[0];
            $baslangic = $msure;
        }
        function bitir()
        {
            global $baslangic;
            $msure = microtime ();
            $msure = explode (' ', $msure);
            $msure = $msure[1] + $msure[0];
            $bitis = $msure;
            $toplam = round (($bitis - $baslangic), 5);
            return $toplam;
        }
    }
    
    
    
    
    //Kullanim
    
    $sure = new suresayac;
    $sure->baslat();
    
    
    //Sayfa iceriginiz buraya...
    
    echo "<p>Sayfa yüklenme süresi: ". $sure->bitir()
    ." saniye</p>";
    
    ?>
    İstediğim bu değilki hocam

    Edit:Akoyunun verdiği istediğim sonucu verdi,teşekkürler
  • 01-05-2010, 13:58:02
    #9
    Akoyunun verdiği koddada sorun oluyor

       	    $this->MkBaslangic = mktime(0,0,0,05,01,2010);
            $this->MkBitis = mktime(0,0,0,05,08,2010);
            $this->Sonuc = $this->MkBitis - $this->MkBaslangic;
            $this->Sonuc= floor($this->Sonuc / (60*60*24));
            echo $this->Sonuc." Gün<br />";
            echo $this->Sonuc/7;
            echo " Hafta";
    Yukarıdaki kodun verdiği çıktı

    Başlangıç Tarihi:05,01,2010
    Bitiş Tarihi:05,08,2010
    -1 Gün
    -0.14285714285714 Hafta