30 php laravel php-carbon laravel-blade
有谁知道如何传递给定变量而不是Carbon的默认参数?
Carbon的文档说:
// CARBON SAMPLE
$dtToronto = Carbon::createFromDate(2012, 1, 1, 'America/Toronto');
$dtVancouver = Carbon::createFromDate(2012, 1, 1, 'America/Vancouver');
echo $dtVancouver->diffInHours($dtToronto); // 3
Run Code Online (Sandbox Code Playgroud)
我想在我的控制器中做这样的事情:
// EXAMPLE
$date = "2016-09-16 11:00:00";
$datework = Carbon::createFromDate($date);
$now = Carbon::now();
$testdate = $datework->diffInDays($now);
Run Code Online (Sandbox Code Playgroud)
并在Blade模板上检索它
// VIEW ON BLADE
<td> {{ $testdate }} </td>
Run Code Online (Sandbox Code Playgroud)
iiv*_*nov 52
您没有关注Carbon文档中的示例.该方法Carbon::createFromDate()需要4个参数:年,月,日和时区.而您正在尝试传递格式化的日期字符串.
如果要从格式化的日期字符串创建Carbon对象,可以使用类的构造函数,如下所示:
$date = "2016-09-17 11:00:00";
$datework = new Carbon($date);
Run Code Online (Sandbox Code Playgroud)
或者您可以使用静态Carbon::parse()方法:
$date = "2016-09-17 11:00:00";
$datework = Carbon::parse($date);
Run Code Online (Sandbox Code Playgroud)
出于您的目的,您可以使用以下完整示例:
$date = Carbon::parse('2016-09-17 11:00:00');
$now = Carbon::now();
$diff = $date->diffInDays($now);
Run Code Online (Sandbox Code Playgroud)
然后在您的Blade模板中:
<td> {{ $diff }} </td>
Run Code Online (Sandbox Code Playgroud)
刀片模板
更短的代码
{{ $diff = Carbon\Carbon::parse($data->last_updated)->diffForHumans() }}
Run Code Online (Sandbox Code Playgroud)
结果 : 6 分钟前
小智 7
您可以通过执行以下操作来清理代码并删除注释掉的代码:
<td>{{ $diff = Carbon\Carbon::parse($work['date'])->diffForHumans(Carbon\Carbon::now()) }} </td>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40207 次 |
| 最近记录: |