Merhaba,
Elimde iki adet tarih mevcut (DateTime formatında) bunların arasındaki gün sayısını hesaplamak istiyorum.
Birkaç yol denedim fakat yıl vs. olmasını istemiyorum sadece gün sayısı olmalı. Bunu nasıl yapabilirim?
Denediğim kodu aşağıda bırakıyorum.
$nowDate = new DateTime();
$lastDay = new DateTime($Date);
$difference = $nowDate->diff($lastDay);
if(is_null($Date)){ return '<hr>'; }
return $difference->y.' Gün';
PHP İle Tarih Hesaplama
6
●70
- 18-11-2021, 10:05:38
- 18-11-2021, 10:16:36AlbaySIMSEK adlı üyeden alıntı: mesajı görüntüle
$now = time(); $your_date = strtotime("2021-10-01"); $datediff = $now - $your_date; echo round($datediff / (60 * 60 * 24)); - 18-11-2021, 10:18:12Bir yöntem aşağıdaki gibi olabilir. Basit matematiksel işlemler ile bulabiliriz.
$tarih1 = strtotime($date); $tarih2 = strtotime($lastday); $gunsayisi = floor(($tarih2 - $tarih1) / 86400);
PHP dökümantasonda ayrıca aşağıdaki gibi bir çözüm mevcut:
https://www.php.net/manual/en/function.date-diff.php#115065 - 18-11-2021, 10:32:14
$date = "2021-10-30"; $days = (new DateTime($date))->diff(new DateTime())->days; $result = is_null($date) ? '<hr>' : $days . ' Gün'; return $result; //Çıktı: 19 Gün
- 18-11-2021, 21:04:55Belirttiğiniz yöntemi kullanarak sorunsuz bir şekilde istediğim gibi yaptım.lookout adlı üyeden alıntı: mesajı görüntüle
Bir sorum daha olacaktı. Elimde 0000-00-00 gibi bir tarih olduğunu varsayalım.
Bu tarihe x adet gün eklemek istiyorum. Bu işlemi en kolay nasıl sağlayabilirim? - 18-11-2021, 21:55:59PHP sürümünüze dikkat edin hepsi çalışıyor fakat bazıları bazı sürümlerde yeni geldiği için eski sürümlerde çalışmayacaktır.AlbaySIMSEK adlı üyeden alıntı: mesajı görüntüle
<?php $date = date_create("2021-11-18"); date_add($date, date_interval_create_from_date_string("1 days")); echo date_format($date, "Y-m-d"); ?> <?php echo date('Y-m-d', strtotime("2021-11-18". ' + 1 days')); ?> <?php $date = new DateTime("2021-11-18"); $date->add(new DateInterval('P1D')); // https://www.php.net/manual/en/dateinterval.construct.php echo $date->format('Y-m-d'); ?>