• <tfoot id='LfVcO'></tfoot>
    <legend id='LfVcO'><style id='LfVcO'><dir id='LfVcO'><q id='LfVcO'></q></dir></style></legend>
    1. <i id='LfVcO'><tr id='LfVcO'><dt id='LfVcO'><q id='LfVcO'><span id='LfVcO'><b id='LfVcO'><form id='LfVcO'><ins id='LfVcO'></ins><ul id='LfVcO'></ul><sub id='LfVcO'></sub></form><legend id='LfVcO'></legend><bdo id='LfVcO'><pre id='LfVcO'><center id='LfVcO'></center></pre></bdo></b><th id='LfVcO'></th></span></q></dt></tr></i><div id='LfVcO'><tfoot id='LfVcO'></tfoot><dl id='LfVcO'><fieldset id='LfVcO'></fieldset></dl></div>

      <small id='LfVcO'></small><noframes id='LfVcO'>

          <bdo id='LfVcO'></bdo><ul id='LfVcO'></ul>

        PHP calc 时间差大于 24 小时

        时间:2024-05-10
      1. <tfoot id='F7ElK'></tfoot>
        <legend id='F7ElK'><style id='F7ElK'><dir id='F7ElK'><q id='F7ElK'></q></dir></style></legend>

                <tbody id='F7ElK'></tbody>

              <small id='F7ElK'></small><noframes id='F7ElK'>

                <bdo id='F7ElK'></bdo><ul id='F7ElK'></ul>
                <i id='F7ElK'><tr id='F7ElK'><dt id='F7ElK'><q id='F7ElK'><span id='F7ElK'><b id='F7ElK'><form id='F7ElK'><ins id='F7ElK'></ins><ul id='F7ElK'></ul><sub id='F7ElK'></sub></form><legend id='F7ElK'></legend><bdo id='F7ElK'><pre id='F7ElK'><center id='F7ElK'></center></pre></bdo></b><th id='F7ElK'></th></span></q></dt></tr></i><div id='F7ElK'><tfoot id='F7ElK'></tfoot><dl id='F7ElK'><fieldset id='F7ElK'></fieldset></dl></div>

                1. 本文介绍了PHP calc 时间差大于 24 小时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  当时间大于 24 小时时,计算时间差的最佳方法是什么.

                  示例

                  $time1 = '76:00:00';$time2 = '30:00:00';//结果应该是 46:00:00echo date('H:i:s', strtotime($time1) - strtotime($time2));

                  但这不能用这个来完成,因为它大于 24 小时.

                  我还在数据库中存储了这样的时间:33:30:00我如何在 php 中将其格式化为:33:30

                  解决方案

                  使用DateTimeDateInterval进行计算:

                  $date1 = new DateTime('now', new DateTimeZone('UTC'));$date2 = new DateTime('now', new DateTimeZone('UTC'));$time1 = new DateInterval('PT76H');$time2 = new DateInterval('PT30H');$date1->add($time1);$date2->add($time2);$diff = $date1->diff($date2);回声 ($diff->days * 24 + $diff->h) .$diff->format(':%I:%S');

                  说明:无法直接在 DateInterval 上执行计算,因此您必须创建日期作为计算的基础.然后将两个不同的间隔添加到当前日期,并计算它们之间的差异.diff() 返回包含总天数的 DateInterval,您必须乘以 24 才能获得小时数,以及不等于完整天数的小时数.p>

                  时区应指定为 UTC 以避免夏令时问题.

                  What is the best way to calculate the difference in time, when time is greater than 24 hours.

                  Example

                  $time1 = '76:00:00';
                  $time2 = '30:00:00';
                  
                  // result should be 46:00:00
                  echo date('H:i:s', strtotime($time1) - strtotime($time2));
                  

                  But this could not be done with this because its greater then 24 hours.

                  Also in a database i've stored a time like this: 33:30:00 How in php could i format it to: 33:30

                  解决方案

                  Use DateTime and DateInterval to perform calculations:

                  $date1 = new DateTime('now', new DateTimeZone('UTC'));
                  $date2 = new DateTime('now', new DateTimeZone('UTC'));
                  $time1 = new DateInterval('PT76H');
                  $time2 = new DateInterval('PT30H');
                  
                  $date1->add($time1);
                  $date2->add($time2);
                  
                  $diff = $date1->diff($date2);
                  echo ($diff->days * 24 + $diff->h) . $diff->format(':%I:%S');
                  

                  Explanation: It's not possible to perform calculations directly on DateIntervals, so you have to create dates as a basis for calculations. Then add two different intervals to current dates, and calculate a difference between them. diff() returns DateInterval that contains total number of days, that you have to multiply by 24 to get hours, and hours that don't make full days.

                  EDIT: The timezone should be specified as UTC to avoid daylight saving time issues.

                  这篇关于PHP calc 时间差大于 24 小时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:在 PHP 中验证英国电话号码 下一篇:如何将日期格式从 DD/MM/YYYY 更改为 YYYY-MM-DD?

                  相关文章

                  1. <small id='d4vPW'></small><noframes id='d4vPW'>

                    <i id='d4vPW'><tr id='d4vPW'><dt id='d4vPW'><q id='d4vPW'><span id='d4vPW'><b id='d4vPW'><form id='d4vPW'><ins id='d4vPW'></ins><ul id='d4vPW'></ul><sub id='d4vPW'></sub></form><legend id='d4vPW'></legend><bdo id='d4vPW'><pre id='d4vPW'><center id='d4vPW'></center></pre></bdo></b><th id='d4vPW'></th></span></q></dt></tr></i><div id='d4vPW'><tfoot id='d4vPW'></tfoot><dl id='d4vPW'><fieldset id='d4vPW'></fieldset></dl></div>
                    <legend id='d4vPW'><style id='d4vPW'><dir id='d4vPW'><q id='d4vPW'></q></dir></style></legend>

                    • <bdo id='d4vPW'></bdo><ul id='d4vPW'></ul>

                    <tfoot id='d4vPW'></tfoot>