5.00 / 1 oy

Object of class DateInterval could not be converted to string hatası ve çözümü

PHP konusunda sitede süper bir yazı dizisi paylaşıldığını gördüğümden beridir takipteyim ve uygulamaları da teker teker deneyerek php bilgilerimi tazeliyorum. Bugün aldığım bir hata mesajı ve çözümü konusunda bilgi vermek için ben de bu yazıyı eklemek istedim. 

PHP'de tarihsel fark (DateInterval) veri tipinde bir değişkenin değerini yazdırmak istediğinizde doğrudan değişkeni yazdırmak istediğinizde Object of class DateInterval could not be converted to string hatası alıyorsunuz, örneğin aşağıdaki örnekte bu durumu deneyerek görebilirsiniz.

<?php
    $tarih1 = new DateTime("2020-12-10");
    $tarih2 = new DateTime("2020-10-10");

    $fark = date_diff($tarih1, $tarih2);

    echo $fark
?>

$fark değişkeni burada DateInterval türünde olduğu için string'e dönüştürerek yazdırmanız gerekiyor. Doğrusu şu şekilde olacak:

<?php
    $tarih1 = new DateTime("2020-12-10");
    $tarih2 = new DateTime("2020-10-10");

    $fark = date_diff($tarih1, $tarih2);

    echo $fark->format('%m ay');
?>

Bu şekilde düzenlediğinizde iki tarih arasındaki ay bazındaki farkları görmüş olursunuz ve çıktısı da 2 ay olur.

Referans yazılar için:

bkz: PHP'de timezone kullanarak tarihi ve saati yazdırmak

bkz: PHP'de iki tarih arasındaki gün ve saat farkını bulmak

bkz: Javascript Tarih ve Saat Örnekleri

bkz: PHP'de string'i tarihe dönüştürmek (strtotime fonksiyonu)

bkz: PHP ile bugünün tarihini yazdırmak

bkz: PHP'de tarih karşılaştırması yapmak (önce sonra karşılaştırmaları)

bora34

23.03.2021 15:49

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Object of class DateInterval could not be converted to string hatası ve çözümü

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.