2017-05-17 5 views
0

こんにちは私は、あなたの多くがこの質問をしているかもしれないと思っているかもしれませんが、シナリオはかなり異なっています。2倍の差異PHP

私は労働時間ごとに労働時間の合計を計算しているので、時間は24時間以上になります。私はこれをDateIntervalによって達成しました。

今私は2回持っていて、それらの違いをPHPで得たいと思っています。

$workedHours  = '78:25:10'; 
$miscSpentHours  = '02:26:11'; 

$totalWorkedHours = $workedHours - $miscSpentHours; // Must Result - 75:59:59 

sub、diff、strtotimeを使用していますが、正しく取得できませんでした。変換中に適切な日付型に変換しています。

本当にありがとうございました。ありがとう。

+2

DateTimeクラスを使用しています – Akintunde007

+0

DateTime :: __ construct():位置0(7)の時刻文字列(78:25:10)を解析できませんでした。 –

+0

[PHPでの日付時刻の差分の解決]の可能な複製(0120-337-331)@ –

答えて

0

これはテストしていません。これは正しい方向にあなたを置くはずです

<?php 

$hours = 70;//enter number of hours 
$zero = new DateTime('@0'); 
$offset = new DateTime('@' . $hours * 3600);//convert to minutes 
$diff = $zero->diff($offset); 


$formattedHours = $diff->format('%a Days, %h Hours, %i Minutes');//get format in days hours and minutes 

$start_date = new DateTime($formattedHours);//pass in contruct 
$since_start = $start_date->diff(new DateTime('02:26:11'));//do difference 
echo $since_start->days.' days total<br>'; 
echo $since_start->y.' years<br>'; 
echo $since_start->m.' months<br>'; 
echo $since_start->d.' days<br>'; 
echo $since_start->h.' hours<br>'; 
echo $since_start->i.' minutes<br>'; 
echo $since_start->s.' seconds<br>'; 

?> 
2

あなたはそれを秒に変換してから、減算してから結果を戻すことができます。

0
  1. HHに変換するために私の機能TimeToSec()をチェック:MM:MM:SS(this answerをご確認ください)秒
  2. コンバート秒バックHHに減算するSS。
関連する問題