2016-07-05 144 views
0

我正在使用strtotime() 其工作正常$ time = '12:00:00'; 但如何格式化时间12:00:00或12:00:上午12:00至上午12:00?

$time = '12:00:am'; 
echo date('h:i A ', strtotime($time)); 

交回下午4:00,但我想输出是12:00 AM

+2

''12:00:am''是*不*有效的日期格式 –

+1

格式“12:00:很”不是有效的,作为第二结肠秒数量预计之后。 –

+0

但我有两种格式的大量数据,我该怎么办? @ John Conde @Paul Stelian – user3176663

回答

1

此功能可以帮助你。它需要一段时间,比如你的格式“12:00:00或12:00:am”,并输出它的需求,就像你这样的“上午12:00”。

function convert_time($the_time){ 
    $time_arr = explode(":",$the_time); 
    if($time_arr[2] != "am" || $time_arr[2] != "pm"){ 
     if($time_arr[0] >= "0" && $time_arr[0] <= 12){ 
      if($time_arr[0] == 12 && $time_arr[1] > 00){ 
       $time_arr[2] = "pm"; 
      } else { 
       $time_arr[2] = "am"; 
      } 
     } else { 
      $time_arr[2] = "pm"; 
     } 
     $new_time = $time_arr[0].":".$time_arr[1]." ".strtoupper($time_arr[2]); 
     return $new_time; 
    } 
    $new_time = $time_arr[0].":".$time_arr[1]." ".strtoupper($time_arr[2]); 
    return $new_time; 
} 

$time = '12:00:am'; 
echo convert_time($time); 
+0

这个函数做什么? – Martin

+0

这个函数需要一些时间像这两种格式的用户魔杖并将其转换为他的需求。我错过了什么? –

+0

好的,你应该编辑并在你的答案中写下。 – Martin

相关问题