2015-06-22 38 views
3

如果具有IH10M(1小時10分鐘)或20M(20分鐘)格式的配方持續時間。我想使用括號中描述的格式。我試過使用strtotime(),但沒有運氣。使用PHP進行時間格式轉換

任何幫助將不勝感激。

回答

3
<?php 
$duration="1H10M5S"; 
$display=str_replace(array('H','M','S'), 
     array(' Hour(s) ',' Minute(s) ',' Seconds'), 
     $duration); 
echo $display; 

輸出

1 Hour(s) 10 Minute(s) 5 Seconds 

Fiddle

0
$yourtext = '1H10M'; 
$newFormat = str_replace("H", " hour,", $yourtext); 
$newFormat = str_replace("M", " minutes,", $newFormat); 
echo $newFormat; 
0
$date_work = new DateTime($variable_name); $inte = $date_work->format('h:i:s');echo $inte; 
+0

嗨Karthick, 如果$ variable_name =「20M」,PHP會拋出一個錯誤,因爲它無法解析'M'。 – pshoeg

0
<?php 

function getBetween($content, $start, $end) { 
    $r = explode($start, $content); 
    if (isset($r[1])) { 
     $r = explode($end, $r[1]); 
     return $r[0]; 
     } 
    return ''; 
} 

$dur = "1H2M3S"; 

$hr = strtok($dur, "H"); 
$min = getBetween($dur, "H", "M"); 
$sec = getBetween($dur, "M", "S"); 

你什麼都想要用$ hr,$ min和$ sec做。

+0

嗨Sherez 我的問題是,我只有「H」有時。所以有時文本會是20M,因此只有幾分鐘,有時它也會有H。這會繼續嗎? – pshoeg

+0

恐怕這不適用於1H2M3S以外的情況。我們將不得不執行一些檢查來處理這個問題。 –