Get time difference

后端 未结 2 1070
[愿得一人]
[愿得一人] 2020-12-11 12:19

How can I compute time difference in PHP?

example: 2:00 and 3:30.

I want to convert the time to seconds then subtract them then convert it back to hours an

相关标签:
2条回答
  • 2020-12-11 12:41

    Look at the PHP DateTime object.

    $dateA = new DateTime('2:00');
    $dateB = new DateTime('3:00');
    
    $difference = $dateA->diff($dateB);
    

    (assuming you have >= PHP 5.3)

    You can also do it the procedural way...

    $dateA = strtotime('2:00');
    $dateB = strtotime('3:00');
    
    $difference = $dateB - $dateA;
    

    See it on CodePad.org.

    You can get the hour offset like so...

    $hours = $difference / 3600;
    

    If you are dealing with times that fall between a 24 hour period (0:00 - 23:59), you could also do...

    $hours = (int) date('g', $difference);
    

    Though that is probably too inflexible to be worth implementing.

    0 讨论(0)
  • 2020-12-11 12:44

    Check this link ...

    http://www.onlineconversion.com/days_between_advanced.htm

    I used this to calculate the difference between server time and the users local time. Grab the hour difference and drop that in a form when the user is registering. I then use it to update the time on the site for the user when they do stuff online.

    Once I got it working, I switched this line ...

    if (form.date1.value == "")
        form.date1.value = s;
    

    to ...

        form.date1.value = "<?PHP echo date("m/d/Y H:i:s", time()) ?>";
    

    Now I can compare the user time and the server time! You can grab the seconds and mins as well.

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