2015-01-05 3 views
0

У меня есть поле в моей базе данных типа datetime, которое заполняется с помощью CURRENT_TIME при вводе записи. выглядит так: 2015-01-05 19:07:03Echo Datetime из базы данных mysql

Мой вопрос в том, как взять это при запросе базы данных и форматировать ее для строки, чтобы я мог эхо ее через php.

мой текущий код:

$testssql="SELECT * FROM LogTest WHERE DriverID = '$userid' AND Complete = '1'"; 
$testsresult=mysqli_query($conn, $testssql); 
while($row = mysqli_fetch_array($testsresult)) 
    { 
     date('l, F d, Y', strtotime($row['Date'])); 
    } 

Однако это не работает ни делает только $row['Date']

ответ

1

Используйте РНР DateTime класс:

$date = DateTime::createFromFormat('Y-m-d H:i:s', $row['Date']); 
echo $date->format('Y-m-d'); // Change format as needed 

EDIT:

Вы Shoul d может отслеживать ошибку, используя блок try/catch:

try { 
    $date = new DateTime($row['Date']); 
    echo $date->format('Y-m-d'); // Change format as needed 
} catch (Exception $e) { 
    echo $e->getMessage(); 
    exit(1); 
} 

Cheers!

+0

Я получаю «Неустранимая ошибка: вызов в функцию функции члена() для объекта, не являющегося объектом» –

+3

Не нужно использовать createFromFormat (I) здесь. DateTime обрабатывает этот формат изначально. –

+0

В вашем цикле, если вы эхо $ row ['Date'], какие-либо данные отображаются? Он содержит значение? – versalle88

Смежные вопросы