• 21-02-2016, 02:38:32
    #1
    strtotime ile veritabanına kayıt ettigim 2 tarih arasındaki ayları nasıl listeleyebilirim acaba?
  • 21-02-2016, 04:44:58
    #2
    <?php
    // 2 tarih arasındaki farkı bu şekilde alabilirsiniz.
    $time1 = strtotime('23:56');
    $time2 = strtotime('00:21');
    echo ($time1 - $time2); // çıktı: 84900 saniye.
    ?>

    Bu örneği normal tarih olarakta baz alabilirsiniz.
  • 21-02-2016, 11:26:43
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba, sorununuzu aşağıdaki fonksiyonu kullanarak çözebilirsiniz.
    <?
    function tarihAraligi($par, $par2){
    	
    	$unixtime = $par;
    	$time = date("Y/m/d", $unixtime);
    	$unixtime2 = $par2;
    	$time2 = date("Y/m/d", $unixtime2);
    	
    	$begin = new DateTime( $time2 );
    	$end = new DateTime( $time );
    	$end = $end->modify( '+1 day' ); 
    
    	$interval = new DateInterval('P1D');
    	$daterange = new DatePeriod($begin, $interval ,$end);
    
    	foreach($daterange as $date){
    	    echo $date->format("Y/m/d") . "<br>";
    	}
    	
    }
    // burada veritabanından çektiğiniz tarihleri $par ve $par2 olarak aşağıdaki gibi giriniz.
    tarihAraligi(1456045981, 968536800);
    ?>
    Umarım işinize yarar.
  • 21-02-2016, 22:47:03
    #4
    Mavicap adlı üyeden alıntı: mesajı görüntüle
    Merhaba, sorununuzu aşağıdaki fonksiyonu kullanarak çözebilirsiniz.
    <?
    function tarihAraligi($par, $par2){
    	
    	$unixtime = $par;
    	$time = date("Y/m/d", $unixtime);
    	$unixtime2 = $par2;
    	$time2 = date("Y/m/d", $unixtime2);
    	
    	$begin = new DateTime( $time2 );
    	$end = new DateTime( $time );
    	$end = $end->modify( '+1 day' ); 
    
    	$interval = new DateInterval('P1D');
    	$daterange = new DatePeriod($begin, $interval ,$end);
    
    	foreach($daterange as $date){
    	    echo $date->format("Y/m/d") . "<br>";
    	}
    	
    }
    // burada veritabanından çektiğiniz tarihleri $par ve $par2 olarak aşağıdaki gibi giriniz.
    tarihAraligi(1456045981, 968536800);
    ?>
    Umarım işinize yarar.
    $end = $end->modify( '+1 day' );
    yerine

    $end = $end->modify( '+1 month' );
    denedim ama yinede günleri listeledi.
  • 21-02-2016, 23:19:09
    #5
    nurettin adlı üyeden alıntı: mesajı görüntüle
    $end = $end->modify( '+1 day' );
    yerine

    $end = $end->modify( '+1 month' );
    denedim ama yinede günleri listeledi.
    Hmm anladım galiba probleminizi lütfen aşağıda verdiğim fonksiyonu deneyiniz.
    <?php
    function ayAraligi($par, $par2){
    	$start = $month = $par;
    	$end = $par2;
    	while($month < $end)
    	{
    	     echo date('F Y', $month), PHP_EOL;
    	     $month = strtotime("+1 month", $month);
    	}
    }
    ayAraligi(1441045981, 1456045981);
    ?>