Php now()与datetime之间的碳差,带;“以前”;使用diffForHumans()方法
根据手册: 要在之前获取Php now()与datetime之间的碳差,带;“以前”;使用diffForHumans()方法,php,datetime,php-carbon,Php,Datetime,Php Carbon,根据手册: 要在之前获取 将过去的值与现在的默认值进行比较时 但无论我做什么,我都无法在之前获得 return$datetime->diffForHumans(Carbon::now()) 在之前的结果,而 return Carbon::now()->diffForHumans($datetime) 在之后的结果 但是,正如您可以清楚地看到的,我上面的两个代码片段都比较了过去的($datetime)和现在的默认值(Carbon::now()),因此我无法理解为什么我不能获得ago?希望有人能帮忙
将过去的值与现在的默认值进行比较时
但无论我做什么,我都无法在之前获得
return$datetime->diffForHumans(Carbon::now())
在
之前的
结果,而
return Carbon::now()->diffForHumans($datetime)代码>
在
之后的结果
但是,正如您可以清楚地看到的,我上面的两个代码片段都比较了过去的
($datetime)和现在的默认值(Carbon::now()),因此我无法理解为什么我不能获得ago?希望有人能帮忙。我只需要回显之前的内容
。谢谢 您应该在“日期计算”之后使用不带参数的diffForHumans()
,如:
Carbon::now()->subDays(24)->diffForHumans(); // "3 weeks ago"
或者,如果您有日期,您可以使用$datetime->diffForHumans()代码>:
$datetime = Carbon::createFromDate(2015, 8, 25); // or your $datetime of course
return $datetime->diffForHumans(); // "1 week ago"
虽然@baao给出了一个很好的答案,但是如果您在
处传递原始日期输入,比如Laravelscreated\u,那么Carbon::createFromDate()
函数可能会有问题。现在你必须使用一个不同的函数。看看下面
$carbondate = Carbon::parse($users->created_at);
$past = $carbondate->diffForHumans();
dd($past);
如果$users->created_at
是一个类似于2018-05-03 14:54:14
的日期,这将给出一个类似于2周前的答案。Laravel提供了created_at
作为碳实例,因此实际上您可以简单地调用$model->updated_at->diffForHumans()代码>。