【问题标题】:Carbon: diff two datetime objects by dates onlyCarbon:仅按日期区分两个日期时间对象
【发布时间】:2018-01-03 16:33:51
【问题描述】:

假设我有以下代码:

$now = Carbon::now();
$dateTimeObject = Carbon::parse('2017-07-20 10:16:34');

如何在仅日期之间获取diff,忽略时间因素?

所以,如果 $now 是 2017-07-27 09:11:12,而 $dateTimeObject 中的日期是 2017-07-20 - 差异将是 7

我需要它来确保特定操作的结果每天只在数据库中存储一次。

注意:

我尝试了 diffInDays() 方法,但如果值是例如,它返回 0 2016-10-12 23:56:432016-10-13 02:01:53 - 所以,接近午夜和晚上。

【问题讨论】:

    标签: php laravel php-carbon


    【解决方案1】:

    Carbon::isSameDay 方法将检查给定日期是否与实例在同一天。如果通过 null,则与现在比较(使用相同的时区)。

    $dateTimeObject = Carbon::parse('2017-07-20 10:16:34');
    
    $is_same = $dateTimeObject->isSameDay();
    

    【讨论】:

      【解决方案2】:

      做这样的事情:

      $now = Carbon::now()->startOfDay();
      $dateTimeObject = Carbon::parse('2017-07-20 10:16:34')->startOfDay();
      

      现在使用diffInDays()

      【讨论】:

      • 如何只比较日期?
      猜你喜欢
      • 2015-12-22
      • 1970-01-01
      • 2023-04-01
      • 2017-08-19
      • 2011-12-02
      • 2017-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多