Форматирование строки во время MYSQL

0

Итак, у меня есть script, который читается в csv файле, и есть время, которое отформатировано в традиционном HH: MM am/pm. Мне нужно преобразовать это в стандартный формат времени mysql (HH: MM: SS).

Это то, что у меня есть до сих пор, и оно работает

$schedule[$row]["TIME"] = date("H:i:s", strtotime($data[4]))

проблема в том, что если ввод отформатирован неправильно, я не могу сказать. Есть ли какая-то функция "или die()", которую я могу использовать или мне нужно как-то проверить с помощью регулярного выражения или что-то в этом роде?

Например:

12:00 pm должно быть 12:00:00 но... если есть проблема с форматом 12: d00 p.m выходит как 17:00:00

Спасибо, Ian

Теги:
string
time

1 ответ

0
Лучший ответ

strtotime возвращает false, если сбой синтаксического анализа. Итак, вы можете сделать:

$t = strtotime($data[4]);
if ($t === false)
    //handle error
$schedule[$row]["TIME"] = date("H:i:s", $t);
  • 0
    Помните, что в более старых версиях PHP 5.x неудачное strtotime может возвращать -1 вместо false.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню