-2
所以基本上我有一個我想用ISO8601格式表示的秒數值。PHP - 將整數秒數轉換爲ISO8601格式
例如:
作爲T1M30S
到目前爲止我也做了以下90秒將表示:
$length = 90;
$interval = DateInterval::createFromDateString($length . ' seconds');
echo($interval->format('TH%hM%iS%s'));
這種情況的輸出是:
TH0M0S90
端起來建設這個功能,這似乎產生我所需要的值(然而限於持續時間是不到一天的時間:
public function DurationISO8601(){
$lengthInSeconds = $this->Length;
$formattedTime = 'T';
$units = array(
'H' => 3600,
'M' => 60,
'S' => 1
);
foreach($units as $key => $unit){
if($lengthInSeconds >= $unit){
$value = floor($lengthInSeconds/$unit);
$lengthInSeconds -= $value * $unit;
$formattedTime .= $value . $key;
}
}
return $formattedTime;
}
感謝
那麼你的問題是什麼?在你說「我該怎麼做?」之前,請記住,那樣的問題太廣泛了,並且會像這樣封閉。所以,如果您迄今爲止編寫了任何代碼,我強烈建議將其添加到您的問題中。你應該閱讀「[我怎麼問一個好問題?](http://stackoverflow.com/help/how-to-ask)」。 –
通過60分鐘得到分鐘數並將結果顯示出來,使用'%'操作符獲得秒數,將其與字符串操作位合併在一起... – deceze
更新的問題... @deceze如果if你有超過60分鐘呢? –