2017-10-31 4 views
-1

私はあなたが私は、データベースからworkedhoursを得る見ることができるようになりました、私の質問はは、TIME_FORMATのHへのロング:私

$ochtendbreak = "10:00:00"; //begin ochtend pauze 
$lunchbreak = "12:00:00";  // begin middag pauze 
$middagpauzebreak = "13:30:00";  // begin middag koffie pauze 

$ochtendgewerktetijd = "03:00:00"; //minimaal 3 uur gewerkt 
$lunchworkedbreak = "06:00:00";  // minimaal 6 uur gewerkt 
$middaggewerktetijd = "03:00:00";  //minimaal 3 uur gewerkt 

$vollewerkdag = "01:00:00"; // alles bij elkaar 1 uur pauze 
$lunchpauze = "00:30:00"; 
$ochtendpauze = "00:15:00"; 
$middagpauze = "00:15:00"; 
$nachtdienst = NULL; 
while (!$rs->EOF){ 
    $workedhours = $rs->fields('workedhours'); 
    $startworkhours = $lunchbreak - $gewerkteuren; 
    $endworkhours = $lunchbreak + $gewerkteuren; 

あるWORKHOURSシステムに取り組んで次のコードイムを持っています。

$ lunchbreak( "12:00:00") - $ workedhours(これは何でもいいが、それは( "06:00:00")返される(Long = 6)i ?

"06:00:00" hours 

はタのデータで見てください:どのように私は

は感謝

+0

日付機能を使用しようとしましたか? の日付($ lunchbreak - $ workedhours、( 'H:i:s'); – Lucarnosky

答えて

1
<?php 
$lunchbreak = new DateTime('12:00:00'); 
$workedhours=new DateTime('6:00:00'); 

$Time=$lunchbreak->diff($workedhours); 
echo $Time->format('"%H:%I:%S" hours'); 

、出力があることを行うことができます( "六時00分00秒")にそれをフォーマットしたいですphpの時間関数: http://php.net/manual/en/datetime.diff.php

1

あなたは完全な日付を使用している場合、それは素晴らしいことだと(あなたが使用している場合)、あなたは、MySQLから

(UNIX_TIMESTAMP(TIMEDIFF(endDate, startDate))) 

OR PHP

$date1 = new DateTime("now");//just for example 
$date2 = new DateTime("tomorrow"); //just for example 
$dteStart = new DateTime($strStart); 
$dteEnd = new DateTime($strEnd); 
$dteDiff = $dteStart->diff($dteEnd); 
$diffStr = $dteDiff->format('H:i:s'); 
+0

など)で試してみると、日付時刻フィールドから時間だけを抽出する時間が節約されます。 – ieatbytes

1

を違いを取得することができますいずれかを使用するDateTimeDateInterval

// here we get DateTime object from time string 
$lunchbreak = DateTime::createFromFormat('H:i:s', '12:00:00'); 
$workedhours = DateTime::createFromFormat('H:i:s', '06:00:00'); 
// get interval 
$interval = $lunchbreak->diff($workedhours); 
// print need value (hours as int) 
echo $interval->h; 
関連する問題