Ben php ile tarih fonksiyonunu kullanarak zaman görüntülemek çalışıyorum zaman 00 ': neden '4 alıyorum?

4 Cevap php

Benim veritabanında var bir zaman görüntülemek için çalışıyorum. Ben ne ihtiyacım için doğru biçimde bir zaman görüntülemek için başardı, ama nedense, sadece '4 görüntülüyor: 00 'Her zaman.

İşte benim kod:

date('g:i', strtotime($row['startTime']))

I Bir örnek benim veritabanında görüntülenen zaman bu gibi adres: 00:12:30

Her zaman 00 ': Neden '4 gösteriyor?

4 Cevap

strtotime bir datetime biçimi ... Yapmanız gereken bekliyor

date('g:i', strtotime('01 January 2009 ' . $row['startTime']))

Belirtildiği gibi problem strtotime() kullanılmasıdır. Herhangi bir kullanım ise benim makinede aşağıdaki işler:

 $date_text = $row['startTime']; // assuming the format "00:12:30"
 list($hrs,$mins,$secs) = explode(":",$date_text); // in response to the question in the comments
 /* the explode() takes the string "00:12:30" and breaks into three components "00","12" and "30".
 these components are named, by their order in the array formed by explode(), as $hrs, $mins and $secs.
see: http://us3.php.net/manual/en/function.explode.php
and: http://us3.php.net/manual/en/function.list.php
 */

 echo "<p>" . date("g:i",mktime($hrs,$mins,$secs)) . "</p>";

Temel veritabanı ve startTime sütun veri türü nedir ne var? Ben yakın php kodu Peering, strtoime DB (MySQL) bir DATETIME temsil ile çalışıyor.

strtotime bir Unix zaman damgası için bir tarih saat dizesi dönüştürür.

Belki $ row ['startTime'] bir tarih saat dize olarak hak etmez.

Örneklerin hiçbiri here bir tarih içermiyordu bir tarih saat dizesini tartışıldı.

Bağlantı da strtotime karışık ise, o rastgele sonuçlar verdiğini söyledi. Ben birkaç biçim karakterler eklemek ve döndürülen başka ne görmek istiyorsunuz.