【问题标题】:Operating with DateTime::diff() inside a While with mysql records在带有 mysql 记录的 While 内使用 DateTime::diff() 操作
【发布时间】:2017-08-17 21:33:19
【问题描述】:

我目前正在处理从 mysql 表中获取的客户付款列表。

我目前正在这样做

while($fila = mysql_fetch_assoc($resultado)){


            $texto .='</tr> <td>' . $fila['FctaTTipoDocumID'] . ' </td>
             <td>' .
         $fila['FctaLetra'] . '</td>
         <td> ' .
         $fila['FctaCentroEmision'] . '</td>
         <td> ' .
         $fila['FctaNroDocumento'] . '</td>
         <td>' .
         $fila['FctaCuota'] . "</td>
         <td>" .
         $fila['FctaImporte'] . "</td>
         <td>" .
         date('d/m/Y',strtotime($fila['FctaFechaVto'])) . "</td>
         <td>" .
         date('d/m/Y',strtotime($fila['FctaFechaAplicado'])) . '</td>
         <td></td></tr>';

         }

然后,我打印这样的结果

echo '<table>
  <tr>
    <th colspan="4"><b>DOCUMENTO</th>
    <th>CUOTA</th>
    <th>IMPORTE</th>
    <th>VENCIMIENTO</th>
    <th>APLICADO</th>
    <th>DIFERENCIA</th>
  </tr>';
echo  $texto;
echo '</table>';

效果很好,正如我所愿。

现在在空列中,就在 date('d/m/Y',strtotime($fila['FctaFechaAplicado'] 旁边 我需要显示两个日期行(FctaFechaAplicado 和 FctaFechaVencimiento)之间的差异天数

据我所知,我必须使用 DateTime::diff(),我在一个带有定义变量的空文档中尝试了它,就像这样

    <?php
$datetime1 = new DateTime('2015-01-14');
$datetime2 = new DateTime('2015-01-20');
$interval = $vencimiento->diff($aplicado);
echo $interval->format('%R%a días');
?>

它可以按我的意愿工作,但我不知道如何将其集成。 我尝试了很多不同的东西,但我不知道我还能做什么。

感谢您的帮助 对不起我的英语不好。

【问题讨论】:

    标签: php mysql datetime diff datediff


    【解决方案1】:

    在 MySQL 中你可以使用这个:

    SELECT DATEDIFF('2015-01-14','2015-01-20');
    

    此查询的输出将是:

    -6

    因此,如果您不想要任何负数,请更改两个日期。

    【讨论】:

    • 问题是我需要对每一行做同样的操作。日期仅用于测试目的。
    • 您可以在日期所在的位置创建子查询并从数据库中获取值
    • 感谢您的回答。我听从您的建议并编辑查询。现在工作。谢谢!
    • 如果它确实有效,我很乐意为您提供帮助。有帮助就采纳
    猜你喜欢
    • 2017-02-13
    • 2017-02-07
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 2011-01-30
    • 2015-03-18
    • 1970-01-01
    • 2011-05-01
    相关资源
    最近更新 更多