Subtract time in PHP

前端 未结 3 1874
名媛妹妹
名媛妹妹 2020-11-27 22:15

I have been looking for an answer for a few hours now, but I can\'t find one.

I\'m writing a simple script. The user sets their work start and end time.

相关标签:
3条回答
  • 2020-11-27 22:30

    If you get valid date strings, you can use this:

    $workingHours = (strtotime($end) - strtotime($start)) / 3600;
    

    This will give you the hours a person has been working.

    0 讨论(0)
  • 2020-11-27 22:32

    A bit nicer is the following:

    
    $a = new DateTime('08:00');
    $b = new DateTime('16:00');
    $interval = $a->diff($b);
    
    echo $interval->format("%H");
    
    

    That will give you the difference in hours.

    0 讨论(0)
  • 2020-11-27 22:33

    Another solution would be to go through the Unix-timestamp integer value difference (in seconds).

    <?php
        $start = strtotime('10-09-2019 12:01:00');
          $end = strtotime('12-09-2019 13:16:00');
    
          $hours = intval(($end - $start)/3600);
          echo $hours.' hours'; //in hours
    
          //If you want it in minutes, you can divide the difference by 60 instead
          $mins = (int)(($end - $start) / 60);
          echo $mins.' minutues'.'<br>';
    ?>
    

    This solution would be a better one if your original dates are stored in Unix-timestamp format.

    0 讨论(0)
提交回复
热议问题