持续从Carbon Laravel获取未知或错误时区

3
我正在尝试使用Carbon在日期上添加两个月,但我一直遇到以下错误:
InvalidArgumentException in Carbon.php line 252: Unknown or bad timezone (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);
        }

在 "app.php" 中,时区的设置方式如下所示:

'timezone' => 'America/Sao_Paulo'

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

2017-02-25 03:51:12

如何解决这个问题?
1个回答

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);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接