Я использую PHP и MySQL. Как преобразовать время с форматом HH: MM AM/PM в HH: MM: SS, чтобы сэкономить время на MySQL?Преобразование времени в формате HH: MM AM/PM в HH: MM: SS
ответ
Используйте strtotime
, чтобы преобразовать его в метку времени, а затем отформатировать, используя функцию date
.
Пример ниже предполагает, что $time
был установлен на время, которое необходимо отформатировать.
$time = date("H:i:s", strtotime($time));
Путь я хотел бы сделать это:
<?php
$date = "6:23 AM";
$timeType = explode(" ", $date);
$timeItems = explode(":", $timeType[0]);
if($timeType[1] == "PM"){
$timeItems[0] += 12;
}
$time = implode(":", $timeItems);
$time .= ":00";
var_dump($time);
?>
Это будет работать, но вы изобретаете колесо. Есть уже функции, испеченные в PHP для обработки дат. –
Да, это мое плохое, я не понял, что вы можете просто воспользоваться временем, используя функцию даты. Обучение от ответа – JammyDodger231
Используйте date_format(), чтобы решить вашу проблему:
DATE_FORMAT(date,'%H:%i:%s')
MySQL date_format и time_format не распознают строки am/pm. –
Easy. В MySQL использовать DATE_FORMAT
как это:
SELECT DATE_FORMAT(NOW(), '%H:%i:%s');
И используя ваш пример вы могли пара это с STR_TO_DATE
так:
SELECT DATE_FORMAT(STR_TO_DATE('09:41 AM', '%h:%i %p'), '%H:%i:%s');
Затем в MySQL запросов можно заменить 09:41 AM
с переменной на основе вашего Таблица MySQL.
Какова ваша первоначальная временная переменная? –
Пример для вас: '$ time = '10: 12 AM '; echo $ time; echo date ('H: i: s', strtotime ($ time)); ' – MH2K9
мой ввод - это текст, но с форматом HH: MM AM/PM –