【问题标题】:How to calculate a few days left or the last few days in Carbon如何计算剩余几天或Carbon中的最后几天
【发布时间】:2020-08-29 06:38:45
【问题描述】:

我的表中有ExpireDateNowTime 字段,例如:

Expire Date : 2020-05-11 00:00:00
NowTime :     2020-05-13 00:00:00

我想知道两个日期之间的差异 (NowTime - ExpireDate) 并使用此代码:

$diff=Carbon::now()->diffInDays($row->expire_date);

问题是,如果距离到期日期还有两天,Carbon 返回 2,另外,如果距离到期日期已经过去 2 天,Carbon 返回 2

我如何检测是还剩 2 天还是已过 2 天?

【问题讨论】:

标签: php sql laravel-5 php-carbon


【解决方案1】:

您可以使用以下工具:

Carbon::now()->diffInDays($row->expire_date, false) // negative number if expired_date is over
Carbon::now()->isAfter($row->expire_date) // true if expired_date is over

【讨论】:

    【解决方案2】:

    Laravel 5.*,你只需尝试 diffForHumans() 方法。当前日期不需要。结果将显示秒、分钟、小时、周、月、年之前。

    $diff = $row->expire_date->diffForHumans();
    
    echo $row->expire_date->diffForHumans(); // a second ago 
    echo $row->expire_date->diffForHumans(); // 10 hour ago
    echo $row->expire_date->diffForHumans(); // 5 days ago
    echo $row->expire_date->diffForHumans(); // 1 week ago
    echo $row->expire_date->diffForHumans(); // 4 month ago
    echo $row->expire_date->diffForHumans(); // 2 year ago
    

    如果你需要使用 Carbon 方法试试这个..

    {{ Carbon\Carbon::parse($row->expire_date)->diffForHumans()}}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-11
      • 2013-06-26
      • 1970-01-01
      • 2010-11-13
      • 1970-01-01
      • 2021-06-11
      • 1970-01-01
      相关资源
      最近更新 更多