(string) obj бросает объект и не будет работать, если obj не является нулевым, а не строкой.
obj.ToString () преобразует obj в строку (даже если это не строка) он будет терпеть неудачу, поскольку obj имеет значение null, поскольку это вызов метода.
Метод 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
}
Carbon
расширяет класс PHP DateTime
. Метод Carbon::parse
в конечном итоге передает входной сигнал до DateTime::__construct
, который анализирует его, как описано в Руководстве по PHP Поддерживаемые форматы даты и времени .