Как вычесть две даты и получить разницу в минутах PHP - PullRequest
0 голосов
/ 07 июня 2019

Итак, у меня есть две даты в часовом формате.Я хочу вычесть их вместе и получить разницу в минутах.

$time = '01:47';
$time2 = '01:50';

$finalresult = $time2 - $time;

Ответы [ 3 ]

1 голос
/ 07 июня 2019

Другой подход:

echo date_diff(new DateTime('01:47'), new DateTime('01:50'), true)->i;

Третий параметр true предназначен для принудительного получения положительного результата, а i - для получения минут из DateInterval, возвращаемого date_diff .

0 голосов
/ 07 июня 2019

Самым простым решением, вероятно, является использование strtotime и деление на 60:

$time = strtotime('01:47');
$time2 = strtotime('01:50');

$finalresult = ($time2 - $time) / 60;
0 голосов
/ 07 июня 2019
$time1 = "23:58";
  $time2 = "01:00";
  $time1 = explode(':',$time1);
  $time2 = explode(':',$time2);
  $hours1 = $time1[0];
  $hours2 = $time2[0];
  $mins1 = $time1[1];
  $mins2 = $time2[1];
  $hours = $hours2 - $hours1;
  $mins = 0;
  if($hours < 0)
  {
    $hours = 24 + $hours;
  }
  if($mins2 >= $mins1) {
        $mins = $mins2 - $mins1;
    }
    else {
      $mins = ($mins2 + 60) - $mins1;
      $hours--;
    }
    if($mins < 9)
    {
      $mins = str_pad($mins, 2, '0', STR_PAD_LEFT);
    }
    if($hours < 9)
    {
      $hours =str_pad($hours, 2, '0', STR_PAD_LEFT);
    }
echo $hours*60+$mins;

другой метод

$to_time = strtotime("01:47:00");
$from_time = strtotime(" 01:55:00");
echo round(abs($to_time - $from_time) / 60). " minute";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...