Web sitemdeki mIME tablomdan TIME alanını görüntülemek istiyorum, fakat 21:00:00 gösterme yerine 8:00 PM göstermek istiyorum. Bunu yapmak için bir fonksiyona/koda, hatta doğru yönde herhangi bir işaretçiye ihtiyacım var. İlk cevabı bir kodla doğru cevap olarak işaretleyecektir.mysql TIME formatını 24 HR ile AM / PM formatından dönüştürme
cevap
Kontrol şuna: http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
Sana DATE_FORMAT isterdim hayal ediyorum().
Örnek: DATE_FORMAT ($ tarihi, "% r")
kullanımlar DATE_FORMAT()
DATE_FORMAT (<Fieled>, '% H:% i:% s% p)
veya
DATE_FORMAT (<Fieled>, '% r) Ayrıca au olarak sütun seçebilir
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
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
+1 "tarihin formatı bir görüntü karardır" demek için gerçekten, bu konuda% 200 katılıyorum –
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')
...
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.
, AM/PM formatında görüntülenecektir. ama eğer mysql zaman formatına AM/PM formatı yazmak istediysem? – itskawsar