diff --git a/src/Timezone.php b/src/Timezone.php index 7e9c9d9..2128fd7 100644 --- a/src/Timezone.php +++ b/src/Timezone.php @@ -12,7 +12,7 @@ class Timezone * @param bool $format_timezone * @return string */ - public function convertToLocal(?Carbon $date, $format = null, $format_timezone = false) : string + public function convertToLocal(?Carbon $date, $format = null, $format_timezone = false, $diff_for_humans = false): string { if (is_null($date)) { return 'Empty'; @@ -26,6 +26,10 @@ public function convertToLocal(?Carbon $date, $format = null, $format_timezone = return $date->format(config('timezone.format')); } + if ($diff_for_humans) { + return $date->diffForHumans(); + } + $formatted_date_time = $date->format($format); if ($format_timezone) { @@ -35,11 +39,20 @@ public function convertToLocal(?Carbon $date, $format = null, $format_timezone = return $formatted_date_time; } + /** + * @param Carbon|null $date + * @return string + */ + public function convertToLocalDiffForHumans(?Carbon $date): string + { + return $this->convertToLocal($date, null, false, true); + } + /** * @param $date * @return Carbon */ - public function convertFromLocal($date) : Carbon + public function convertFromLocal($date): Carbon { return Carbon::parse($date, auth()->user()->timezone)->setTimezone('UTC'); } @@ -48,7 +61,7 @@ public function convertFromLocal($date) : Carbon * @param Carbon $date * @return string */ - private function formatTimezone(Carbon $date) : string + private function formatTimezone(Carbon $date): string { $timezone = $date->format('e'); $parts = explode('/', $timezone);