copy()->timezone((string) config('app.timezone'))->format('Y-m-d'); } public static function ymdFromDateValue(mixed $value): ?string { if ($value === null || $value === '') { return null; } if ($value instanceof DateTimeInterface) { return Carbon::instance($value)->format('Y-m-d'); } if (is_string($value) && preg_match('/^(\d{4}-\d{2}-\d{2})/', $value, $m)) { return $m[1]; } return Carbon::parse($value, (string) config('app.timezone'))->format('Y-m-d'); } }