date_format PHP с использованием вызова MySQL - PullRequest
0 голосов
/ 12 августа 2011

У меня проблемы с форматированием дат, возвращаемых из моей базы данных mySQL. Вот код, который я пытаюсь использовать:

<?php
function get_gold_time()
{
     $goldquery = mysql_query("SELECT * FROM metal_price WHERE metal= 'GOLD' LIMIT 0, 96"); 


         while($result = mysql_fetch_array( $goldquery )) 
 { 

        echo "'" . date_format($result['time'], 'jS ,g A') . "'" . ", " ;  
 } 

         }
?>

Это ошибка, которую я получаю:

Предупреждение: date_format () ожидает, что параметр 1 будет DateTime, строка указана в /home/bellsnet/public_html/chart.php в строке 128 '',

Без формата даты мой код выглядит так:

<?php
function get_gold_time()
{
     $goldquery = mysql_query("SELECT * FROM metal_price WHERE metal= 'GOLD' LIMIT 0, 96"); 


         while($result = mysql_fetch_array( $goldquery )) 
 { 

        echo "'" .$result['time'] . "'" . ", " ;  
 } 

         }
?>

И возвращает мои значения следующим образом:

'2011-08-10 01:15:02', '2011-08-10 01:00:02', '2011-08-10 00:45:02', '2011-08-10 00:30:02', '2011-08-10 00:15:02', '2011-08-10 00:00:02', '2011-08-09 23:45:03', '2011-08-09 23:30:02', '2011-08-09 23:15:02', '2011-08-09 23:00:03', '2011-08-09 22:45:02', '2011-08-09 22:40:22', '2011-08-09 22:30:02', '2011-08-09 22:15:02', '2011-08-09 22:13:41', '2011-08-10 02:00:02', '2011-08-10 01:45:02', '2011-08-10 01:30:02', '2011-08-10 02:15:02', '2011-08-10 02:30:02', '2011-08-10 02:45:02', '2011-08-10 03:00:02', '2011-08-10 03:15:03', '2011-08-10 03:30:03', '2011-08-10 03:45:03', '2011-08-10 04:00:03', '2011-08-10 04:15:01', 

Любая помощь будет принята с благодарностью! Я возился с этим часами.

Ответы [ 2 ]

1 голос
/ 12 августа 2011

дата попытки ()

<?php
function get_gold_time()
{
     $goldquery = mysql_query("SELECT * FROM metal_price WHERE metal= 'GOLD' LIMIT 0, 96"); 


         while($result = mysql_fetch_array( $goldquery )) 
 { 

        echo "'" . date('jS ,g A', strToTime($result['time'])) . "'" . ", " ;  
 } 

         }
?>

или используйте DATE_FORMAT () непосредственно в запросе MYSQL:

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format

0 голосов
/ 12 августа 2011

Было бы гораздо лучше просто отформатировать дату в MySQL с помощью DATE_FORMAT (), так как это было бы немного быстрее и даст вам то, что вы хотите.

См. http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format

...