Datetime с AM / PM r преобразование в стандартный формат в базу данных в Laravel 5.8 - PullRequest
1 голос
/ 09 июля 2019

У меня есть дата в следующем формате

$date = "6.17.2019 12:00:00 AM."

Мне нужно преобразовать это в Ymd h: i: s.Я пробовал следующую строку кода,

$regdate = \Carbon\Carbon::parse($date)->format('Y-m-d h:i:s');

Но это приводит к ошибке.

DateTime :: __ construct (): Не удалось проанализировать строку времени (6.17.2019 12:00:00 утра.) В позиции 7 (1): неожиданный символ "

Желаемый вывод:

2019-06-17 00: 00: 00

Ответы [ 2 ]

1 голос
/ 09 июля 2019

можно изменить формат на углерод, затем можно изменить на любой формат.

$date = "6.17.2019 12:00:00 AM.";

        $regdate = \Carbon\Carbon::createFromFormat('m.d.Y h:i:s A.', '6.17.2019 12:00:00 AM.');
        $regdate = \Carbon\Carbon::parse($regdate)->format('Y-m-d');
        echo $regdate;
0 голосов
/ 09 июля 2019

Полагаю, что бы эта функция Carbon не расширяла класс PHP DateTime?

Использование createFromFormat()

$date = DateTime::createFromFormat('d.m.Y H:i:s A.', '6.17.2019 12:00:00 AM.');
echo $date->format('Y-m-d H:i:s');

, который даст вам:

2020-05-06 00:00:00

Проверьте это здесь https://3v4l.org/g53Xp

И прочитай о классе PHP DateTime https://www.php.net/manual/en/datetime.createfromformat.php

...