Danyal Awan Ответов: 3

Как вычесть между двумя значениями времени с помощью PHP?


Я сделал почти все, что нашел в интернете. Я пытался это сделать в течение последних двух дней, но не смог получить ответ на свое желание. Я просто хочу вычесть два раза. пример 22:00:00 - 00:30:00 = 21:30:00

Что я уже пробовал:

$hourToEatLastMeal = strtotime('00:30:00');
$hourToEatWorkout = strtotime('01:30:00');
$hourBetweenMeal = strtotime('07:30:00');
$lastMealRequested = strtotime($row['lastMeal']); //22:00:00 //value getting from query.

$startEating = $lastMealRequested - $hourToEatLastMeal ;//21:30:00 (want this answer)
$timeToEat = $startEating- $hourBetweenMeal; //14:00:00 (want this answer)
$whenToWorkout = $timeToEat - $hourToEatWorkout; //12:30:00 (want this answer)

$whenToWorkout = date("H:i:s",($whenToWorkout));//12:30:00 (want this answer)
$timeToEat = date("H:i:s",($timeToEat));//14:00:00 (want this answer)
$startEating = date("H:i:s",($startEating));//21:30:00  (want this answer)

3 Ответов

Рейтинг:
2

Member 14003988

$diff = abs(time() - $time);

        $years = floor($diff / (365*60*60*24));  


        $months = floor(($diff - $years * 365*60*60*24) 
                                       / (30*60*60*24));  
          
          
        $days = floor(($diff - $years * 365*60*60*24 -  
                     $months*30*60*60*24)/ (60*60*24)); 
          
          
        $hours = floor(($diff - $years * 365*60*60*24  
               - $months*30*60*60*24 - $days*60*60*24) 
                                           / (60*60));  
          
        $minutes = floor(($diff - $years * 365*60*60*24  
                 - $months*30*60*60*24 - $days*60*60*24  
                                  - $hours*60*60)/ 60); 

        if ($minutes > 15 ) {
            $success = true;
        }


Рейтинг:
0

Sandeep Mewara

Вы можете использовать PHP: DateTime::diff - Manual[^]
Пример:

$start_t = new DateTime($start_time);
$current_t = new DateTime($current_time);
$difference = $start_t ->diff($current_t );
$return_time = $difference ->format('%H:%I:%S');