我有一段时间从PHP中的数据库返回92500.但我想格式化时间为09:25如何做到这一点echo date ('H:i',strtotime($row['time']))
。输出00:00。我怎么能得到09:25
答案 0 :(得分:18)
实际上
$date = '9:25';
echo date ('H:i',strtotime($date));
对我来说非常好。
返回“09:25”。
所以我想你的数据库值必须有一些错误,这意味着$ row ['time']不包含正确的值。
答案 1 :(得分:0)
答案 2 :(得分:0)
<击>
你说$row['time']
是“数字类型”。你的意思是它是时间戳吗?如果是这样,您不需要strtotime
。
echo date('H:i', $row['time'])
击> <击> 撞击>
值92500
不是strtotime()
的有效时间值。有关有效时间值,请参阅this page。
答案 3 :(得分:0)
许多方法之一:
$time = '92500'; // HHMMSS
if (strlen($time) == 5)
$time = '0'.$time;
echo substr($time, 0, 2).':'.substr($time, 2, 2);
答案 4 :(得分:0)
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];
}
答案 5 :(得分:-3)
尝试使用此简单功能将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 .")";
}