不断从 Carbon Laravel 获取未知或错误的时区

Ant*_*nio 3 php mysql datetime php-carbon laravel-5

我尝试使用 Carbon 添加 2 个月的日期,但我不断收到此错误:

Carbon.php 第 252 行中的 InvalidArgumentException:
未知或错误时区 (2017-02-25 14:25:24)

这是我的代码:

<?php
public function giveMonths(Request $request)

    {   

        $query = DB::table('users')->where('level', '=', 2)->get();

        foreach ($query as $row) {

            $id = $row->id;

            $expires = $row->expires;

            $newDate = Carbon::now($expires)->addMonths(2);

            dd($newDate);
        }
Run Code Online (Sandbox Code Playgroud)

在“app.php”中,时区设置如下:

'时区' => '美国/圣保罗'

存储在数据库中的时区格式如下:

2017-02-25 03:51:12

我怎么解决这个问题?

nex*_*tt1 5

您使用了错误的方法。使用时必须传递时区作为参数now。在你的情况下你应该使用parse方法。

$query = DB::table('users')->where('level', '=', 2)->get();

foreach ($query as $row)
{
 $id = $row->id;
 $expires = $row->expires;
 $newDate = Carbon::parse($expires)->addMonths(2);
 dd($newDate);
}
Run Code Online (Sandbox Code Playgroud)