Есть ли PHP-функция для форматирования времени (не даты)? - PullRequest
2 голосов
/ 18 марта 2010

У меня установлено поле таблицы mysql в качестве типа времени, в котором хранятся данные в формате ЧЧ: мм: сс. Поэтому, когда я перечисляю данные, они печатаются, например, как 16:30:00. Но я хочу отображать только чч: мм часть (не секунды).

В случае типов datetime я могу назначить дату («H: i», «2010-03-16 16:30:00»). Я имею в виду, я могу получить любую часть. Интересно, есть ли подобный способ для полей только для времени?

Пожалуйста, смотрите, я могу манипулировать временной строкой, чтобы избавиться от секунд во временной части, используя str_replace, explode и т.д., мне просто интересно, есть ли там какая-то стандартная функция, о которой я не знаю.

Ответы [ 3 ]

10 голосов
/ 18 марта 2010

Если вы хотите сделать это с PHP, вам сначала нужно получить временную метку, например,

echo date('H:i', strtotime('16:30:00'));

выдаст 16:30. Strtotime предполагает, что время соответствует текущей дате.

3 голосов
/ 18 марта 2010

Вы можете разрешить MySQL возвращать данные в нужном формате, используя Date_Format ()

изменить: как fireeyedboy указал, что есть также функция TIME_FORMAT () .

1 голос
/ 18 марта 2010

Другой подход:

SELECT UNIX_TIMESTAMP(time_field) AS tstamp FROM table;

Затем вы можете использовать PHP date () для форматирования.

$time = date('H:i', $tstamp);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...