Углерод возвращается плохое время - PullRequest
0 голосов
/ 07 февраля 2020

Я хочу создать дату-время из ab bdd даты и b bdd сохраненного времени.

Это мой контроллер:

    public function indexAjax(Request $request)
    {
        $asesorias = Asesoria::where('user_id','=',Auth::user()->id)
                        ->orderBy('created_at', 'DESC')->get();        

        foreach($asesorias as $asesoria)
        {            
            $datetime = Carbon::create($asesoria->date, $asesoria->time);
            $events[] = array('title' => $asesoria->place, 'start' => $datetime, 'end' =>$datetime, 'url' => $asesoria->id);

        }

        dd(json_encode($events));
        return  json_encode($events);
    }

Когда дата-время создания правильная, но время всегда возвращает 0.

Это мой просмотр дд (json_enconde ($ events):

[{"title":"Centro Comercial Las Huertas Av. de Madrid, 37, Palencia","start":"2020-02-03T00:00:00.000000Z","end":"2020-02-03T00:00:00.000000Z"}]

В моем b bdd время хранится:

enter image description here

Что происходит? Почему всегда в моих записях время 00: 00: 00.000000Z?

Ответы [ 2 ]

1 голос
/ 07 февраля 2020

Carbon::create не принимает дату и время как два отдельных аргумента.

Это подпись:

Carbon::create($year = 0, $month = 1, $day = 1, $hour = 0, $minute = 0, $second = 0, $tz = null)

Carbon::parse($asesoria->date . ' ' . $asesoria->time), вероятно, будет работать, но вы действительно лучше отключить объединение даты и времени в базе данных в один столбец datetime, что позволит вам без проблем использовать собственную обработку даты и времени Laravel.

0 голосов
/ 07 февраля 2020

Carbon :: create работает не так ...

Использовать Carbon::parse($asesoria->date . ' ' . $asesoria->time)

После этого вы можете отформатировать дату с помощью format () или formatLocalized.

Это довольно ясно из документации кстати

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...