Правильное форматирование времени Mysql

0

Я хочу сохранить время в базе данных Mysql. Я написал сценарий, который генерирует время. У меня проблема с правильным временем генерации

<?php
$durs = array(
    '3:56',
    '1:11:00',
    '2:04:56'
);

foreach ($durs as $dur){
    echo date('H:i:s', strtotime($dur)).'<br>';
}
?>

В приведенном выше примере отображается дата в форме 03:56:00 вместо 00:03:56.

  • 1
    Возможно, я бы посоветовал проверить форматирование строки перед тем, как генерировать время. Если есть только 1 двоеточие, добавьте «00:» слева от строки. Если есть 2 двоеточия, вы можете идти.
  • 0
    Есть ли функция для подсчета символов в строке? около эхо-счета (взорваться (':', $ date)) - 1;
Показать ещё 2 комментария
Теги:

1 ответ

0

StrToTime ожидает формат ah: i: s, и вы отправляете только 2 числа в свой элемент массива fist, вам нужно переформатировать массив следующим образом:

<?php
$durs = array(
    '0:3:56',
    '1:11:00',
    '2:04:56'
);

foreach ($durs as $dur){
    echo date('H:i:s', strtotime($dur)).'<br>';
}

Или вам нужно реализовать функцию, которая сначала проверяет, какой тип значения хранится в массиве, а затем отправить его в правильный формат в timetostring

Ещё вопросы

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