【问题标题】:How i can Count the days from last_updated date to Today date我如何计算从 last_updated 日期到今天日期的天数
【发布时间】:2019-12-13 20:31:55
【问题描述】:

我想显示从上次更新日期到今天日期的总天数,我想在我的视图文件中显示这些天数,请让我知道我在哪里弄错了。 这是我的视图代码...

<li><?php echo $this->lang->line('member_since'); ?> : <span class="pull-right"><?php 
                                 $date1= date('Y-m-d',strtotime($customer['last_update']));
                                 $date2= date('Y-m-d',strtotime($customer['last_update']));
                                 $diff=date_diff($date1,$date2);
                                 if(empty($diff))
                                 {
                                     echo "0 Day";
                                 }
                                 else
                                 {
                                     echo $diff->format("%R%a days");
                                 }

                                ?></span></li>

【问题讨论】:

  • 您的$date1$date1 都是最后更新的,没有当前日期过去。
  • 我想计算last_updated日期到当前时间之间的天数...
  • 试试这个$date1= date('Y-m-d',strtotime($customer['last_update'])); $date2= date('Y-m-d');
  • 还有 0 天计数..

标签: php mysql codeigniter codeigniter-3 codeigniter-2


【解决方案1】:

将您的 $date2 更改为今天的时间

    <li>
    <?php echo $this->lang->line('member_since'); ?> : <span class="pull-right"><?php 
                                     $date1= date('Y-m-d',strtotime($customer['last_update']));
                                     $today= date('Y-m-d');
                                     $diff=date_diff($date1,$today);
                                     if(empty($diff))
                                     {
                                         echo "0 Day";
                                     }
                                     else
                                     {
                                         echo $diff->format("%R%a days");
                                     }

                                    ?></span></li>

【讨论】:

  • 你能给我们一个示例输入
  • 2019-04-30 22:52:04,这是我数据库中的 last_updated 字段值
【解决方案2】:

试试这个,

您忘记在代码中与今天的日期进行比较

$date1= date('Y-m-d',strtotime($customer['last_update']));
$today= date('Y-m-d');
$diff=date_diff($today,$date1);
echo $diff->format("%R%a days");die;

date_diff 将在成功时返回一个 DateInterval 对象,表示两个日期之间的差异。失败时为 FALSE

【讨论】:

  • 您是这样插入日期的date('Y-m-d H:i:s'); 还是date('Y-m-d h:i:s');
【解决方案3】:

您可以使用以下查询直接在 MySQL 中执行此操作:

SELECT DATEDIFF( now(), '2019-08-05' ) as days;

您可以传递您的列名(last_updated) 而不是“2018-08-05”。

因此,您可以在从数据库中获取它的同时进行,而不是在 PHP 中进行。

【讨论】:

    【解决方案4】:
    $date1 = date('Y-m-d',strtotime($customer['last_update']));
    $date2 = date('Y-m-d',strtotime($customer['last_update']));
    

    您将相同的变量 $customer['last_update'] 分配给 $date1$date2

    【讨论】:

    • 请使用一个变量$customer['last_update'],让我计算从这个日期到当前时间之间的天数...
    • 你需要改成这样$date2 = date('Y-m-d');
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 2023-02-22
    • 2012-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多