/** * Restore the value. * * @param $value * @return Carbon */ public function restore($value) { if (!$value) { return null; } if ($value instanceof Carbon) { return $value; } if (is_string($value)) { return (new Carbon())->createFromTimestamp(strtotime($value)); } return (new Carbon())->createFromFormat($this->fieldType->getStorageFormat(), $value); }
/** * Return a carbon instance * based on the value. * * @param $value * @param null $timezone * @return Carbon|null * @throws \Exception */ protected function toCarbon($value, $timezone = null) { if (!$value) { return null; } if ($value instanceof Carbon) { return $value; } if (is_numeric($value)) { return (new Carbon())->createFromTimestamp($value, $timezone); } if ($timestamp = strtotime($value)) { return (new Carbon())->createFromTimestamp($timestamp, $timezone); } return (new Carbon())->createFromFormat($this->fieldType->getStorageFormat(), $value, $timezone); }