我有一個代碼,在那裏將減去Total Duration
和Total Time
,之後的計算結果將被轉換成秒......PHP:時間/ HH:分:秒轉換爲秒
假設在我Total Duration
是 「02:00:00」 然後Total Time
是 「01:30:00」
對於計算...
02:00:00 - 01:30:00 = 00:30:00
然後的結果,「00:30:00 「將被轉換爲秒d結果是「1800」
我該如何轉換它?
感謝您的幫助......
我有一個代碼,在那裏將減去Total Duration
和Total Time
,之後的計算結果將被轉換成秒......PHP:時間/ HH:分:秒轉換爲秒
假設在我Total Duration
是 「02:00:00」 然後Total Time
是 「01:30:00」
對於計算...
02:00:00 - 01:30:00 = 00:30:00
然後的結果,「00:30:00 「將被轉換爲秒d結果是「1800」
我該如何轉換它?
感謝您的幫助......
使用strtotime功能。它返回UNIX時間戳(自1970年1月1日00:00:00以來的秒數)。如果你通過了小時格式HH:MM:SS
它,你可以很容易地做數學
$to = strtotime('02:00:00');
$from = strtotime('01:30:00');
$seconds = $to - $from; // outputs 30
您認爲格式爲minutes:seconds:miliseconds
,你想獲得30 秒你的情況。其實輸出是30 分鐘。毫秒以點分隔。
你的時間或許應該是這樣的:
$to = strtotime('00:02:00');
$from = strtotime('00:01:30');
@Matewka ...哈哈抱歉錯誤類型...結果應該是1800 ...雖然我已經編輯它..感謝幫助:D – user2826499
你可以試試這個,
$start = '01:30:00';
$end = '02:00:00';
$workingHours = (strtotime($end) - strtotime($start));
$res= date("i", $workingHours);
echo "DIFF: ". $res; //OP 30 Minutes
echo $resFull= date("H:i:s", $workingHours); //OP 00:30:00
如果您使用的格式HH:MM:SS
那麼你可以通過下面的代碼將其轉換爲秒
$timestr = "00:30:00";
$temp = explode(":", $timestr);
if ($temp && is_array($temp) && count($temp) == 3) {
$time = intval($temp[0]) * 3600 + intval($temp[1]) * 60 + intval($temp[1]);
} else {
$time = null;
}
如何使用函數將時間字符串拆分爲三個子字符串(返回一個子字符串數組)
$substrings = new Array();
$substrings = explode(":", $timeString);
現在數組$ substrings包含三個子字符串(小時,分鐘,秒)。 你可以只通過multiplicating計算秒:
$hours = intval($substrings[0]);
$minutes = intval($substrings[1]);
$seconds = intval($substrings[2]);
$seconds = $hours * 3600 + $minutes * 60 + $seconds;
替代與PHP 5.3:
<?php
try {
$date1 = new DateTime('02:00:00');
$date2 = new DateTime('01:30:00');
$diff = $date1->diff($date2);
echo $diff->format('H:i:s');
} catch (Exception $e) {
echo $e->getMessage();
exit(1);
}
如果你使用PHP的日期/時間函數來執行現有的計算,你應該已經有答案在幾秒鐘內...也許如果你顯示你的代碼,我們可以指出你 –
但持續時間00:30:00不是30秒,它是30分鐘或1800秒 –
@ MarkBaker..oh yeh ..即時通訊抱歉..將編輯問題 – user2826499