Как получить спецификаторы формата, в которых строка даты и времени анализируется Carbon :: parse () - PullRequest
0 голосов
/ 18 января 2019

В Carbon PHP у нас есть метод для анализа строки на сегодняшний день. если строка является допустимой строкой даты, то я был бы проанализирован с допустимым объектом Carbon. Мне любопытно узнать, есть ли способ получить возможную строку формата, в которой php определяет дату. например:

Carbon::parse("01 January, 2018");

тогда мы получим действительный углеродный объект. Мой вопрос заключается в том, можем ли мы в любом случае получить «d F, Y», который является фактическим спецификатором формата php, угаданным автоматически.

Ответы [ 2 ]

0 голосов
/ 18 января 2019

Carbon расширяет класс PHP DateTime. Метод Carbon::parse в конечном итоге передает ввод до DateTime::__construct, который анализирует его, как описано в руководстве по PHP Поддерживаемые форматы даты и времени .

0 голосов
/ 18 января 2019

Метод parse всегда возвращает экземпляр Carbon\Carbon. Таким образом, вы должны либо подтвердить свою строку до:

Validator::make(
    ['date_value' => $date],
    ['date_value' => 'date']
)->validate();
Carbon::parse($date);

или используйте метод createFromFormat вместо:

if (Carbon::createFromFormat('d F, Y', $stringVariable) !== false) {
    // valid date
}
...