PHP: İki Tarih Arası Günleri Listelemek

İki tarih aralığındaki zaman değerini hesaplamak için basit bir fonksiyon geliştiriyoruz.

MySQL’de iki tarih arasını hesaplamak konusunu daha önce yazmıştık. Bazı durumlarda verilen aralıklarda günlerin listesi gerekebilir .

Bu fonksiyon ile iki tarih arasındaki günleri liste halinde alabiliriz ve tablo döküm işlemlerinde rahatça kullanabiliriz.

 

Fonksiyonumuza geçelim;

 

function DaysBetweenDates($strDateFrom,$strDateTo)
{

$aryRange=array();

$iDateFrom=mktime(1,0,0,substr($strDateFrom,5,2),     substr($strDateFrom,8,2),substr($strDateFrom,0,4));
$iDateTo=mktime(1,0,0,substr($strDateTo,5,2),     substr($strDateTo,8,2),substr($strDateTo,0,4));

if ($iDateTo>=$iDateFrom)
{
array_push($aryRange,date(‘Y-m-d’,$iDateFrom)); // first entry
while ($iDateFrom<$iDateTo) { $iDateFrom+=86400; // add 24 hours array_push($aryRange,date('Y-m-d',$iDateFrom)); } } return $aryRange; } [/sourcecode]   Örnek Kullanım;

$gunler=DaysBetweenDates(“2012-01-15″,”2012-02-05”);

5 thoughts on “PHP: İki Tarih Arası Günleri Listelemek

  • Bunun “makale” olmaya değer nesi var yahu?

    Mesela bu günleri takvim formatında dizmiş olsanız, gerçekten enteresan bir şey yapmış olurdunuz.

    İyi çalışmalar.

  • Enes; ben makale yazarı değilim, yazılımla ilgilenen arkadaşlara faydası dokunabilecek kod paylaşımı yapıyorum. Yazdığım konuların bişeye değip değmediğini hesap etmem genelde. Umarım bi başkasına faydası olur.

  • Merhaba,
    Mysql’de tarih arası hesaplama yapılırken silme işlemini bir türlü yapamıyorum yardımcı olabilirmisiniz ?

    Yaşamış olduğu problem

    dergi_goster isimli tablomda
    siparis_bitis_tarih_ay_yil = donen deger :2012-02-31 colonu
    tarih_saat_dakika = donene deger: 10:31:38 colonu

    silmek istediğim olay bugunden 3 gün önceisne ait ve aynı dakikaya ait tüm geçmiş verileri silmek
    örnek :
    bugun = 2012-02-31 12:12:12 ise
    benim silmek istediğim tarhi öncesi ve geçmiş
    2012-02-28 12:12:11 öncesini ait tüm veirleri silmek istiyorum

    aşağıda örnek kod var fakat silme işlemini yapmamaktadır.
    DELETE FROM dergi_goster WHERE DATEDIFF(NOW(),STR_TO_DATE(CONCAT_WS(‘ ‘,’siparis_bitis_tarih_ay_yil ‘,’tarih_saat_dakika ‘),’%m-%d-%Y %H:%i:%s’))>’3′

    sorun nedir acaba rica etsem yardımcı olabilirmisin

  • Ne kadar teşekkür etsem azdır gerçekten çok işime yaradı Allah Razı Olsun.

  • Yaz saati uygulamasında bu tarih yılda 2 kez hata vericektir.
    27 ekimde saati yanlış hesaplayacaktır

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir