Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php now()与datetime之间的碳差,带;“以前”;使用diffForHumans()方法_Php_Datetime_Php Carbon - Fatal编程技术网

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给出了一个很好的答案,但是如果您在
处传递原始日期输入,比如Laravels
created\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()