PHP Tarihe Gün Ekleme Tarihten Gün Çıkarma
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!
Çeşitli kamu kuruluşlarında edindiğim 14 yıla yakın tecrübenin ardından şu an İstanbul Büyükşehir Belediyesi’nde İş Geliştirme ve Proje Yöneticisi olarak 100+ kişilik proje grubuna liderlik ediyorum.
Son yıllarda çeşitli platformlar üzerinde 400 ‘den fazla konu üzerine yayınladığım eğitim videoları 3.000.000’u aşan izlenme almış bulunmaktadır. 2017 itibariyle Udemy’de, yazılım konularında kapsayıcı müfredata sahip eğitimler üretiyorum. 2017 yılında Udemy Türkiye tarafından en iyi 3 eğitmenden biri olarak seçildim.
Teşekkürler faydalı bir paylaşım.