时间 - 如何在PHP中获得小时差异?

时间:2017-04-25 16:56:38

标签: php

我有两个不同的时间首先是 - 06:15 PM &第二个是 - 07:15 PM

我想要时差答案: 1

4 个答案:

答案 0 :(得分:0)

您可以使用DateTime类,即:

// create DateTime objects from string
$date1 = DateTime::createFromFormat('g:i A', "06:15 PM");
$date2 = DateTime::createFromFormat('g:i A',"07:15 PM");
// determine what interval should be used - Hours in this case
$interval = new \DateInterval('PT1H');
// create hourly periods between the two dates
$periods = new \DatePeriod($date1, $interval, $date2);
// count the number of objects within the periods
$hours = iterator_count($periods);
echo $hours;
# 1

答案 1 :(得分:0)

您可以尝试这样的事情

 $ts1 = strtotime(str_replace('/', '-', '02/01/2013 06:15'));
        $ts2 = strtotime(str_replace('/', '-', '02/01/2013 07.15'));
        echo $diff = abs($ts1 - $ts2) / 3600;

你可以在php中了解更多关于strtotime方法的信息,这真的很有帮助

答案 2 :(得分:0)

Php具有确定两个日期时间对象之间差异的功能。有一些很好的例子说明如何在文档注释中使用该函数。 PHP manual datetime::diff

您可以使用页面评论中显示的格式选项来获取小时数(%H我认为是您需要的)

答案 3 :(得分:0)

                     <?php  
                             $one="06:15 PM";
                             $two="07:45 PM";

                             $one_time = strtotime($one);
                             $two_time = strtotime($two);


         echo $minutes= round(abs($one_time - $two_time) / 60,2); //diff in minutes
         echo $hours =$currDate . " " . gmdate("H:i", ($minutes * 60));//diff in hours

                          ?>