WedX - журнал о программировании и компьютерных науках

Как преобразовать время MySQL

Мое время в mysql находится в форме чч: мм: сс. Как я могу преобразовать это время в 12 часов, а также удалить секунды, потому что все они равны 00.

ex:

14:30:00

mysql

$finalresult = mysql_query("SELECT * FROM events WHERE clubID IN (" . implode(',', $clubIDs) . ") ORDER BY date ASC, TIME(startTime) ASC");

while($finalrow = mysql_fetch_assoc($finalresult)) {

$originaltime = $finalrow['startTime'];
$newtime = TIME_FORMAT($originaltime, '%h:%i %p');

}

  • Это действительно основной вопрос. dev.mysql.com/doc/refman/ 5.5/en/date-and-time-functions.html 26.06.2013
  • это может помочь вам найти то, что вы ищете. ="как преобразовать время в десятичное число в sql с целым числом"> stackoverflow.com/questions/13616672/ 26.06.2013

Ответы:


1

Используйте TIME_FORMAT:

SELECT TIME_FORMAT('14:30:00', '%h:%i %p'); /* 02:30 PM */

Измените свой PHP на что-то вроде этого:

$finalresult = mysql_query("SELECT Field1, Field2, TIME_FORMAT(DateField, '%h:%i %p') AS TheTime FROM events WHERE clubID IN (" . implode(',', $clubIDs) . ") ORDER BY date ASC, TIME(startTime) ASC");

Это включает в себя избавление от * и указание каждого поля, которое вы хотите.

26.06.2013
  • я получаю сообщение об ошибке, что функция time_format() не определена 26.06.2013
  • $newtime = TIME_FORMAT($originaltime, '%h:%i %p'); 26.06.2013
  • TIME_FORMAT — это функция MySQL, а не функция PHP. Я не знал, что вы используете PHP. 26.06.2013
  • как мне это сделать, если у меня есть строка, и я получаю ее как row['time']; 26.06.2013
  • я получаю от mysql на самом деле 26.06.2013
  • Как теперь выглядит ваш оператор MySQL? Можете ли вы добавить это к своему вопросу? 26.06.2013
  • когда я называю это как $finalrow['time'], я получаю ноль 26.06.2013
  • Я должен был добавить AS TheTime, или как вы хотите это назвать. Таким образом, вы можете сказать $finalrow['TheTime']. Я обновил свой ответ соответственно. 26.06.2013

  • 2

    Если это тип TIME, вы можете использовать TIME_FORMAT.

    Чтобы получить 12-часовое время без секунд:

    TIME_FORMAT(myTime, '%h:%i')
    

    Время 14:24:38 будет отображаться как 2:24.

    Если вам нужно обозначение AM/PM сейчас, когда вы преобразовали часы в 12-часовой формат, просто добавьте код формата %p:

    TIME_FORMAT(myTime, '%h:%i %p')
    

    Для этого время 14:24:38 выйдет как 2:24 PM.

    26.06.2013
  • я получаю сообщение об ошибке, что функция time_format() не определена 26.06.2013
  • $newtime = TIME_FORMAT($originaltime, '%h:%i %p'); 26.06.2013
  • Ах, я понял - я дал ответ для MySQL, а не для PHP. Если вы включите вызов функции TIME_FORMAT в свой запрос MySQL, вам не нужно будет конвертировать/форматировать в PHP. 26.06.2013
  • как мне это сделать, если у меня есть строка, и я получаю ее как row['time']; 26.06.2013
  • Это наступит раньше. Когда вы отправляете запрос к MySQL, вместо чего-то вроде SELECT col1, col2, timeval FROM myTable вы запрашиваете SELECT col1, col2, TIME_FORMAT(timeval, '%h:%i') AS time FROM myTable. AS time назовет столбец time, чтобы вы могли сослаться на него как row['time']. 26.06.2013
  • Вместо того, чтобы начинать запрос как SELECT * FROM events WHERE ..., начните с SELECT *, TIME_FORMAT(startTime, '%h:%i') AS formattedStartTime FROM events WHERE .... Затем в своем PHP назначьте $originalTime следующим образом: $originaltime = $finalrow['formattedStartTime'];. Также обратите внимание, что для извлечения данных следует использовать mysqli или PDO; Драйвер mysql PHP будет удален, потому что он небезопасен. 26.06.2013
  • Новые материалы

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

    ИИ в аэрокосмической отрасли
    Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


    Для любых предложений по сайту: [email protected]