input type="date" yöntemiyle 2 farklı tarih post ediyorum. bu iki tarih arasındaki gün farkını almak istiyorum.
$tarih1=$_POST['tarih1'];
$tarih2=$_POST['tarih2'];
$fark=strtotime($tarih1)-strtotime($tarih2);
echo $fark; // sonuç 1
strtotime kodunu kullandığım zaman input ettiğim tarih unix başlangıç zamanına atıyor 01/01/1970. Farklı birkaç yöntem daha denedim fakat çözemedim.Yardımlarınızı bekliyorum.
php de 2 tarih arası farkı alma ?
5
●1.109
- 15-10-2015, 15:15:57Çözüm bulamassan date_diff() fonksyonunu deyebilirsin.
http://php.net/manual/tr/function.date-diff.php - 15-10-2015, 15:34:44bilirkishi adlı üyeden alıntı: mesajı görüntüle
hocam bunuda denedim ama yine sonuç alamadım - 15-10-2015, 17:43:30merhaba,satlas adlı üyeden alıntı: mesajı görüntüle
buradaki yazımda "ne zaman yazıldı" fonksiyonu kullanmıştım. bu fonksiyon iki tarih arasındaki farka göre işlem görür. yani işini görür kodları incelersen. - 16-10-2015, 02:51:01Öncelikle her iki post ettiğin tarihide unix zaman damgasına çevirmeli ve eğer veritabanında saklıyorsan yine unix zaman damgası olarak saklamalısın, böylece iki sayıyı birbirinden çıkarabilirsinsatlas adlı üyeden alıntı: mesajı görüntüle
Tarihleri zaman damgası olarak saklaman, istediğin yerde istediğin işlemi sayılar üzerinde yapıp sonra istediğin formatta ekrana basmana daha elverişlidir
Arkasından elde ettiğin zaman farkını echo date('d.m.Y H:i:s') şeklinde tarihe çevirebilirsin
Gelen tarih değerleri nasıl geliyor onları da burada yazsaydın daha sağlıklı değerlendirme yapılabilirdi , gelen değer strtotime için hatalı olabilir çünkü
Birde tarih 1 tarih 2 den küçük olmamalı buna da dikkat etmelisin çünkü sen tarih1-tarih2 şeklinde kullanıyorsun , - (eksi) değer ise de hata alırsın
Özellikle benim düşündüğüm şey jquery datetimepicker gibi bir eklentiden post ettiğğin tarih değerlerinin hatalı geliyor olmasıdır bunu özellikle kontrol edebilmek için posttan gelen değerleri burada yazsaydın daha iyi oalcaktı.
Umarım anlatabilmişimdir kolay gelsin - 17-10-2015, 14:02:34betho adlı üyeden alıntı: mesajı görüntüle
sorun çözülmüştür teşekürler