• <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 小时

        PHP calc difference between time greater than 24 hours(PHP calc 时间差大于 24 小时)
      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 小时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  How do I parse XML containing custom namespaces using SimpleXML?(如何使用 SimpleXML 解析包含自定义命名空间的 XML?)
                  SimpleXML SOAP response Namespace issues(SimpleXML SOAP 响应命名空间问题)
                  Problems with PHP namespaces and built-in classes, how to fix?(PHP 命名空间和内置类的问题,如何解决?)
                  Use php namespace inside function(在函数内部使用 php 命名空间)
                  unexpected #39;use#39; (T_USE) when trying to use composer(尝试使用作曲家时意外的“使用(T_USE))
                  PHP adding custom namespace using autoloader from composer(PHP使用来自作曲家的自动加载器添加自定义命名空间)
                  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>
                          <tbody id='d4vPW'></tbody>

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

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