Подтвердить что ты не робот

Как я могу форматировать время в php

У меня есть время, возвращенное из базы данных в php как 92500. Но я хочу отформатировать время как 09:25, как это сделать echo date ('H:i',strtotime($row['time'])).it выводит 00:00. Как я могу получить 09:25

4b9b3361

Ответ 1

Фактически

$date = '9:25';

echo date ('H:i',strtotime($date));

работает отлично для меня.

Возвращает "09:25".

Итак, я думаю, что это должно быть некоторая ошибка с вашим значением базы данных, означающим, что $row ['time'] не содержит правильного значения.

Ответ 3

Вы сказали, что $row['time'] был "number type". Вы имеете в виду, что это временная метка? Если это так, вам не нужно strtotime.

echo date('H:i', $row['time'])

Забастовкa >

Значение 92500 не является допустимым значением времени для strtotime(). См. эту страницу для действительных значений времени.

Ответ 4

Один из многих способов:

$time = '92500'; // HHMMSS

if (strlen($time) == 5)
  $time = '0'.$time;

echo substr($time, 0, 2).':'.substr($time, 2, 2);

Ответ 5

public static function formatSeconds($secs=0){
    $units = array('Sec', 'Min', 'Hrs', 'Days', 'Months', 'Years'); 
    if($secs<60){
        $time=$secs;
        $pow=0;
    }
    else if($secs>=60 && $secs<3600){
        $time=$secs/60;
        $pow=1;            
    }
    else if($secs>=3600 && $secs<86400){
        $time=$secs/3600;
        $pow=2;            
    }
    else if($secs>=86400 && $secs<2592000){
        $time=$secs/86400;
        $pow=3;            
    }
    else if($secs>=2592000 && $secs<31104000){
        $time=$secs/2592000;
        $pow=4;            
    }
    else if($secs>=31104000 ){
        $time=$secs/31104000;
        $pow=5;            
    }

    return round($time) . ' ' . $units[$pow]; 
}

Ответ 6

Попробуйте эту простую функцию для конвертирования 24-часового времени в 12-часовое время, включая "AM" и "PM"

<?php 
echo change_time("00:10");               // call the change_function("user input here")
?>
function change_time($input_time)
{
// 23:24    
//break time
$hours = substr($input_time,0,2);
$mins = substr($input_time,3,2);

if (($hours >= 12) && ($hours <= 24))
{
    if (($hours == 24))
    {
        $new_hour = "00";
        $part = "AM";
    }
    else {
        $new_hour = $hours - 12;
        $part = "PM";
    }

}
else
{
    //$new_hour = $hours - 12;
$new_hour = $hours;
    $part = "AM";
}


return $new_hour .":" . $mins ." " . $part . "(".$input_time .")";
}