PHP projelerimizde tarih bilgisini sıkça kullanırız. Bazı durumlarda mevcut tarihimizden ileri yada geri giderek değişik tarihler elde etmemiz gerekir. Bu dersimizde elimizde bulunan bir tarihe gün ekleme ve gün çıkarma işlemlerine göz atacağız.

Bu dersimizde PHP ile tarih işlemlerinin minik bir özetine değinecek olsakta Sıfırdan İleri Seviyeye PHP 7 kitabımda bol örnekli PHP ile Tarih işlemleri bölümü bulunmaktadır.

PHP ile Tarihe Gün Ekleme

Öncelikle işlem yapacağımız bir tarih elde etmemiz gerekiyor. Projelerinizde bu bilgiyi veritabanında tuttuğunuz ilgili tablodan elde edebilirsiniz. Bunun yerine biz date() fonksiyonundan yararlanarak günün tarih bilgisini elde ediyoruz.

<?php 
$nowDate = date("Y-m-d");
echo $nowDate;

Elde ettiğimiz tarih bilgisini ekrana yazdırmaya çalıştığımızda Warning: date(): It is not safe to rely on the system’s timezone settings.  ile başlayıp devam eden bir hata alırsanız bu hatanın sebebi ilgili zaman bölge formatının tanımlı olmamasından kaynaklıdır.

Önemli!

Kodumuzu şu şekilde güncellediğimiz de problem çözülecektir.

<?php
date_default_timezone_set('Europe/Istanbul');
$nowDate = date("Y-m-d");
echo $nowDate;

Artık elde ettiğimiz tarih bilgisini ekrana yazdırabildik. Şimdi sıra ilgili tarihe ekleme yapmaya geldi.

Tarihe gün ekleme işlemini strtotime() fonksiyonu ile fonksiyonun arttırma parametrelerini kullanarak kolay bir şekilde gerçekleştirebiliriz. Bu işlem sonucunda elde edeceğimiz sonuç unix zaman damgası şeklinde saniye cinsinden değer olacaktır. Aşağıda ki işlem sonucunda $newDate değişkenini ekrana yazdırdığınız da çıkan sonucu kontrol edebilirsiniz.

$newDate = strtotime('1 day',strtotime($nowDate));

Saniye cinsinden elde ettiğimiz değeri yine date() fonksiyonuna ikinci parametre vererek istediğimiz tarih formatına dönüştürebiliriz.

$newDate = date('Y-m-d' ,$newDate );

Artık saniye cinsinden arttırarak elde ettiğimiz değer bizim belirlediğimiz formatta bir tarih’e dönüştü.

Aşağıda elde edilen bir tarihe 1 gün eklediğimiz tüm işlem yapısını gösteren kodu inceleyebilirsiniz

<?php
date_default_timezone_set('Europe/Istanbul');
$nowDate = date("Y-m-d");
echo "Günün Tarihi....:".$nowDate;
echo "<br/>";
$newDate = strtotime('1 day',strtotime($nowDate));
echo "Arttırılmış Zaman Damgası....:".$nowDate;
echo "<br/>";
$newDate = date('Y-m-d' ,$newDate );
echo "Arttırılan Yeni Tarih....:".$newDate;
 ?>

PHP ile Tarihten Gün Çıkarma

PHP ile tarihe gün ekleme işlemlerinde uzun bir anlatım oldu. Ama PHP ile tarihten gün çıkarma işlemlerinde basit bir değişiklik yaparak aynı kod yapısını kullanacağız.

PHP ile gün çıkarma işlemi yapmanız için tek yapmanız gereken strtotime fonksiyonuna artış değer parametresi olarak verdiğimiz “1 day” bilgisini “-1 day” olarak değiştirmek olacaktır.

<?php
date_default_timezone_set('Europe/Istanbul');
$nowDate = date("Y-m-d");
echo "Günün Tarihi....:".$nowDate;
echo "<br/>";
$newDate = strtotime('-1 day',strtotime($nowDate));
echo "Arttırılmış Zaman Damgası....:".$nowDate;
echo "<br/>";
$newDate = date('Y-m-d' ,$newDate );
echo "Arttırılan Yeni Tarih....:".$newDate;
 ?>

Ücretsiz kurs ister misin kaydol!



(Visited 8.850 times, 1 visits today)