2008-10-06 38 views

cevap

0

kullanımlar DATE_FORMAT()

DATE_FORMAT (<Fieled>, '% H:% i:% s% p)

veya

DATE_FORMAT (<Fieled>, '% r) Ayrıca au olarak sütun seçebilir

2

MYSQL UNIX_TIMESTAMP() işlevini kullanarak nix zaman damgası. Daha sonra PHP'de biçimlendirin. IMO bu PHP'de

select a, b, c, UNIX_TIMESTAMP(instime) as unixtime; 

date() fonksiyon & formatını o istediğiniz gibi kullanabilirsiniz ... daha esnektir.

<?php echo date('Y/m/d', $row->unixtime); ?> 

SQL'de bunu biçimlendirme aksine bu yöntemi gibi sebebi bana göre buluşmamız biçimi SQL tarihini biçimlendirmeye (Bence) bir görüntüleme karar & yanlış hissediyor, b/c .. SQL'de ekran mantığını neden kullanmalısınız?

Şimdi - eğer verileri PHP'de işlemiyorsanız ve anlık sorgular yapıyorsanız o zaman DATE_FORMAT() yoluna gidiniz. Ama eğer veriler internette görüntülenecekse, UNIX_TIMESTAMP() ile gidip PHP'de biçimlendirmeyi yapabilirim ...

Yani… & tarihinin tarihini değiştirmek istediğinizi söyleyelim Sayfada görüntülenen ... bir ekran tweak için SQL değiştirmek zorunda kalmazsa "off" hissetmez?

benim 2 sent

+0

Tüm tarih işleme kodlarım içeren bir sınıfa sahibim. Giriş kodunda, DATE_FORMAT() işlevini kullanarak zamanı biçimlendiren o sınıftan bir işlevi çağırıyorum. Bu nedenle, görüntü kodunda gerçekten görünmüyor ve Mysql tarihlerinin unix zaman damgasından daha okunabilir olduğunu hissetmiyor. – Ali

+0

+1 "tarihin formatı bir görüntü karardır" demek için gerçekten, bu konuda% 200 katılıyorum –

0

Aynı yapmaya çalışıyor ve bir Google arama dönen bu sayfayı var edilmişti. 21:00:00 için bir çözüm buldum; 21:00

Yani tam koddur dönmek için etrafında LOWER() işlevi koyarak 21:00

  • döndü DATE_FORMAT(<field>,'%l.%i%p') kullanılarak

    • ; Tamam benim için çalıştı DATE_FORMAT(<field>,'%l.%i%p')

      ...

  • 7

    aşağıdaki örnekle AM ​​/ PM formatında tarih & saat verileri göster ...

    SELECT DATE_FORMAT(`t`.`date_field`,'%r') AS `date_field` FROM `table_name` AS `t` 
    

    İkisi

    SELECT DATE_FORMAT(`t`.`date_field`,'%h:%i %p') AS `date_field` FROM `table_name` AS `t` 
    

    VEYA

    düzgün çalışıyor.