Итак, у меня есть 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
strtotime
возвращает false, если сбой синтаксического анализа. Итак, вы можете сделать:
$t = strtotime($data[4]);
if ($t === false)
//handle error
$schedule[$row]["TIME"] = date("H:i:s", $t);
strtotime
может возвращать-1
вместо false.