Arkadaşlar iki tarih arasındaki gün farkını hesaplayan bir kod yazdım. Kod sorunsuz çalışıyordu fakat aşağıdaki tarihler arasında hesaplama yaptığımda yanlış sonuç veriyor.
$tarih1 = strtotime('2013-03-03');
$tarih2 = strtotime('2013-04-27');
Mantık olarak kodlar time çevirip aradaki farkı 86400 bölerek gün sayısını buluyordum. Yukardaki tarihlerde istenilen sorunu alamıyorum.
$gunfarki = ($tarih2-$tarih1)/86400 ; şeklinde işleme soktuğumda aşağıdaki sonuç çıkıyor. Farklı tarih aralıklarında sorun yok. SOrun neyden kaynaklı sizce ?
54.9583333333
Php iki tarih arasındaki gün farkı.
9
●28.512
- 13-05-2013, 17:10:51Üyeliği durdurulduREeL13 adlı üyeden alıntı: mesajı görüntüle
<?php $tarih1 = strtotime('2013-03-03'); $tarih2 = strtotime('2013-04-27'); $gunfarki = ($tarih2-$tarih1)/86400 ; echo round($gunfarki); ?>sıkıntı 24*60*60 olayında bir yerde bence. artık zaman vs. gibi bir şey sayıp süreyi 86400 e tam bölünmeyen bir şey çıkarıyor olabilir.
Sanırım saat farkından dolayı bir sıkıntı çıkarıyor. Virgülden sonrası hep aynı sayı çünkü ama round ile yuvarlarsan, düzgün görünecektir. Çünkü küsürat hep .9 çıkıyor. yani her türlü yukarı yuvarlaman lazım. ben yaklaşık 10-15 tarih'te denedim, sıkıntı yok
- 14-05-2013, 02:28:55Hocam saat dakika ve sn alanlarını boş bırakınca orayı sıfır kabul etmiyor mu ?. owl1989 nin dediği gibi round fonksiyonu ile yuvarlama yaptım. Bu da tam çözüm değil mi acaba.bayGaReZ adlı üyeden alıntı: mesajı görüntüle
- 14-05-2013, 02:42:42Aynıdır aslında, bir farkı yoktur. Hatta normalde yuvarlamaya bile ihtiyaç duymamanız gerekir. İki gün arasındaki farkı net bir şekilde 55 olarak almanız gerekir. Ben sadece alternatif ürettim ve test ettiğimde 55 sonucunu görünce buraya yazmak istedim. Round ile yuvarlama yapmak mantıksız.REeL13 adlı üyeden alıntı: mesajı görüntüle
- 14-05-2013, 11:19:49Üyeliği durdurulduİşte kayıp zaman fln alıyor muhtemelen hocam. zaten 1 sn fazla alsa bütün hesap patlar, küsürat çıkarbayGaReZ adlı üyeden alıntı: mesajı görüntüle
- 14-05-2013, 12:20:00Kimlik doğrulama veya yönetimden onay bekliyor.DateTime sınıfınız diff() metoduyla en sağlıklı yoldan halledebilirsiniz:
http://php.net/manual/en/datetime.diff.php - 14-05-2013, 17:59:29Round yuvarlama ile çözdüm şuan. Oda gün sayısında sapma yapma ihtimali varsa sizin kodu kullanayım o zaman ?grafitus adlı üyeden alıntı: mesajı görüntüle