• 22-04-2009, 13:01:24
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Dbye veri eklerken tarihi Now() fonksiyonuyla ekledim. Dbde böyle görünüyor: 2009-04-22 12:41:04

    Şimdi bu tarihi şöyle yazdırdığımda
    echo date('Y-j-n H:i:s',$tarih);
    Sonuç olarak 1970-1-1 02:00:00 veriyor. Yıl olarak 1970 veriyor, nerde yanlış yapıyorum?
  • 22-04-2009, 13:14:45
    #2
    SuSpect adlı üyeden alıntı: mesajı görüntüle
    Dbye veri eklerken tarihi Now() fonksiyonuyla ekledim. Dbde böyle görünüyor: 2009-04-22 12:41:04
    Şimdi bu tarihi şöyle yazdırdığımda
    echo date('Y-j-n H:i:s',$tarih);
    Sonuç olarak 1970-1-1 02:00:00 veriyor. Yıl olarak 1970 veriyor, nerde yanlış yapıyorum?
    date("d-m-Y H:i:s",$tarih); olarak almanız için $tarih değişkenin UNIX formatında olması gerekli. Yani php'de time() fonksiyonu bu işi yapar. Sizin istediğiniz gibi yapmanız için önce db'den çektiğiniz tarihi mktime() ile unix formatına çevirip daha sonra date("d-m-Y H:i:s",$unix_tarih); olarak yapmanız gerekli, çok zor birşey değil.

    Mktime hakkında bilgi için > PHP: mktime - Manual
  • 22-04-2009, 13:17:36
    #3
    Üyeliği durduruldu
    Alıntı
    Sonuç olarak 1970-1-1 02:00:00 veriyor. Yıl olarak 1970 veriyor, nerde yanlış yapıyorum?
    date fonksiyonuna geçersiz arguman elemanı girdiğin için sana 1 ocak 1970 tarihini veriyor.
    Ne yapmaya çalışıyorsunki yanlış yapıyorsun?
  • 22-04-2009, 13:19:29
    #4
    SuSpect adlı üyeden alıntı: mesajı görüntüle
    Dbye veri eklerken tarihi Now() fonksiyonuyla ekledim. Dbde böyle görünüyor: 2009-04-22 12:41:04

    Şimdi bu tarihi şöyle yazdırdığımda
    echo date('Y-j-n H:i:s',$tarih);
    Sonuç olarak 1970-1-1 02:00:00 veriyor. Yıl olarak 1970 veriyor, nerde yanlış yapıyorum?
    tam amacınız nedir 1970-1-1 02:00:00 şeklinde çıktı almaksa direk veritabanından çekseniz işinizi görmüyormu? 2009-04-22 12:41:04 veritabanındada aynı formatta değilmi sonuçta?
  • 22-04-2009, 13:43:51
    #5
    zampir adlı üyeden alıntı: mesajı görüntüle
    date("d-m-Y H:i:s",$tarih); olarak almanız için $tarih değişkenin UNIX formatında olması gerekli. Yani php'de time() fonksiyonu bu işi yapar. Sizin istediğiniz gibi yapmanız için önce db'den çektiğiniz tarihi mktime() ile unix formatına çevirip daha sonra date("d-m-Y H:i:s",$unix_tarih); olarak yapmanız gerekli, çok zor birşey değil.
    Mktime hakkında bilgi için > PHP: mktime - Manual
    Bunlar kafamı karıştırdı
    Dogu_Bey adlı üyeden alıntı: mesajı görüntüle
    date fonksiyonuna geçersiz arguman elemanı girdiğin için sana 1 ocak 1970 tarihini veriyor.
    Ne yapmaya çalışıyorsunki yanlış yapıyorsun?
    niphell adlı üyeden alıntı: mesajı görüntüle
    tam amacınız nedir 1970-1-1 02:00:00 şeklinde çıktı almaksa direk veritabanından çekseniz işinizi görmüyormu? 2009-04-22 12:41:04 veritabanındada aynı formatta değilmi sonuçta?
    Veritabanı alanı datetime olarak tanımladım. Dbde eklenme_tarihi alanında 2009-04-22 13:37:12 verisi var. Direk veritabanından bu şekilde çekince boş veri geliyor;

    $tarih = $yazi['eklenme_tarihi'];
    echo $tarih;
    Sonuç olarak bu veriyi şu şekilde çekmek istiyorum
    Tarih: 2009-04-22 Saat: 13:37:12
  • 22-04-2009, 13:50:51
    #6
    Üyeliği durduruldu
    Alıntı
    Veritabanı alanı datetime olarak tanımladım. Dbde eklenme_tarihi alanında 2009-04-22 13:37:12 verisi var. Direk veritabanından bu şekilde çekince boş veri geliyor;
    Dolu Olan bir şey nasıl boş gelir?
  • 22-04-2009, 13:52:11
    #7
    Yapmaya çalıştığın olay şu;

    <?php
    		$veri = "2009-04-22 12:41:04";
    		$bol = explode(" ",$veri);
    		$t = $bol[0];
    		$t2 = $bol[1];
    		
    		$g = explode("-",$t);
    		$gun = $g[2];
    		$ay = $g[1];
    		$yil = $g[0];
    		
    		$h = explode(":",$t2);
    		$saat = $h[2];
    		$dakika = $h[1];
    		$saniye = $h[0];
    		
    		$unix_format = mktime($saat,$dakika,$saniye,$ay,$gun,$yil);
    		
    		echo date('Y-j-n H:i:s',$unix_format);
    ?>
  • 22-04-2009, 13:56:27
    #8
    zampir adlı üyeden alıntı: mesajı görüntüle
    Yapmaya çalıştığın olay şu;

    <?php
            $veri = "2009-04-22 12:41:04";
            $bol = explode(" ",$veri);
            $t = $bol[0];
            $t2 = $bol[1];
            
            $g = explode("-",$t);
            $gun = $g[2];
            $ay = $g[1];
            $yil = $g[0];
            
            $h = explode(":",$t2);
            $saat = $h[2];
            $dakika = $h[1];
            $saniye = $h[0];
            
            $unix_format = mktime($saat,$dakika,$saniye,$ay,$gun,$yil);
            
            echo date('Y-j-n H:i:s',$unix_format);
    ?>
    okadarına gerek yok aslında

    $tarih = $yazi['eklenme_tarihi'];
    $bol = explode(" ",$tarih );
    $t = $bol[0];
    $t2 = $bol[1];


    echo "Tarih: ".$t." Saat: ".$t2;

    ama doğubeyin de dediği gibi boş çekmemesi lazım

    veritabanıyla bağlantınız kurulumu ve sql sorgunuz sağlıklımı?

  • 22-04-2009, 14:07:03
    #9
    Üyeliği durduruldu
    manuel :: MySQL :: MySQL 5.1 Reference Manual :: 11.6 Date and Time Functions

    mysql in türkçe tarih desteğide var. php fonk. kullanmana gerek yok.

    kolay gelsin.