2010-12-03 9 views
0

У меня есть DateTime, что я вытащил из базы данных, которая выглядит следующим образом: 2000-01-01 08:00:00PHP: лучший способ конвертировать дату и время в строку времени?

Теперь мне нужно, чтобы преобразовать его так все, что я оставил это: 08:00:00

Что такое лучший способ сделать это?

+2

Самым простым способом будет сделать `TIME (столбец)`, когда потянув из базы данных. – 2010-12-03 19:15:24

ответ

0

Я должен был подумать об этом раньше ... Проще всего было бы использовать функцию MySQL TIME() только выбрать время, в первую очередь.

4
substr('2000-01-01 08:00:00', 11); 
+0

+1: Если результат всегда в формате DATETIME, это самый безопасный способ. Реальный синтаксический анализ даты всегда несет в себе риск помехи от фальшивки временной отметки (что обычно желательно, но не здесь) – 2010-12-03 19:19:03

3

Вы можете использовать

substr($timestamp, -8); 
+0

поддерживается как влево, так и вправо – ajreal 2010-12-03 19:20:58

+0

Я печатал свой ответ одновременно с вами, если бы увидел, Представлено: -p..Но да, либо работает нормально. – Jack 2010-12-03 19:25:31

1

вы также можете использовать функцию php strtotime, чтобы превратить ее в объект datetime, а затем использовать метод format на нем, чтобы получить красивое представление, но вы хотите. Таким образом, вы можете положить в AM/PM, сделайте 24 часы или 12 часов, делать все, что вы хотите с датой и т.д.

$date = strtotime('2000-01-01 08:00:00'); 
echo $date->format('H:i:s'); 
Смежные вопросы