比较日期并显示PHP剩余的剩余到期日期

时间:2020-07-02 16:24:11

标签: php date time

我正在尝试使用PHP创建一个订阅期为14天的应用程序。在我的数据库表中,我有开始日期和到期日期。我对显示“您的应用程序将在---天后到期”的到期标语有些困惑。

      $start = explode(' ', $billing->started_at); // to get the date only
      $end = explode(' ', $billing->expires_at);

      $date1=date_create($start[0]);
      $date2=date_create($end[0]);
      $diff=date_diff($date1,$date2);
      
      Session::put('days_left', $diff->format("%R%a days"));

请帮助

1 个答案:

答案 0 :(得分:0)

从理论上讲,您的代码应该可以运行,但是您没有告诉我们实际的问题是什么,所以这就是我的解决方法。

如果只想使用时间戳的日期部分进行计算,则可以在创建DateTime对象之前对其进行格式化。

<?php

$start = new DateTime(date('Y-m-d', strtotime($billing->started_at)));  
$end = new DateTime(date('Y-m-d', strtotime($billing->expires_at)));

$difference = $start->diff($end);

echo $difference->format("Your application will expire in %a days.");

或者,您可以直接使用时间戳。取决于您要实现的目标。

<?php

$start = new DateTime($billing->started_at);  
$end = new DateTime($billing->expires_at);

$difference = $start->diff($end);

echo $difference->format("Your application will expire in %a days.");

工作示例: http://sandbox.onlinephpfunctions.com/code/417d4691483f53fe083735d257df4fb49b832c58