diff --git a/app/Support/JalaliHelper.php b/app/Support/JalaliHelper.php index fd864abc..aebecc2a 100644 --- a/app/Support/JalaliHelper.php +++ b/app/Support/JalaliHelper.php @@ -15,12 +15,19 @@ class JalaliHelper } try { - $carbon = $value instanceof Carbon ? $value : Carbon::parse($value); - if ($carbon->year < 1000 || $carbon->year > 3000) { + $carbon = $value instanceof Carbon ? $value->copy() : Carbon::parse($value); + + // سال میلادی نامعتبر / خیلی قدیمی → تبدیل شمسی ممکن است year=0 بدهد + if ($carbon->year < 1621 || $carbon->year > 2500) { return null; } - return Jalalian::fromCarbon($carbon); + $jalali = Jalalian::fromCarbon($carbon); + if ($jalali->getYear() < 1000 || $jalali->getYear() > 3000) { + return null; + } + + return $jalali; } catch (Throwable $e) { return null; } diff --git a/resources/views/admin/index.blade.php b/resources/views/admin/index.blade.php index b20cc490..5f5e397b 100755 --- a/resources/views/admin/index.blade.php +++ b/resources/views/admin/index.blade.php @@ -44,7 +44,7 @@ if (isset($_COOKIE['token01'])) { //dd($user); if (!empty($user->attendances)) { foreach ($user->attendances as $att) { - $date = $att->entered_at != null ? Jalalian::fromCarbon(Carbon::parse($att->entered_at)) : null; + $date = $att->entered_at != null ? \App\Support\JalaliHelper::fromDateTime($att->entered_at) : null; $att->date = $date != null ? $date->format('Y/m/d') : null; if ($att->duration != null && $date != null && $now->getMonth() == $date->getMonth()) { [$h, $m, $sec] = explode(':', $att->duration); @@ -414,7 +414,7 @@ SVG; - {{ $item->entered_at ? Jalalian::fromCarbon(Carbon::parse($item->entered_at))->format('m/d') : '-' }} + {{ \App\Support\JalaliHelper::format($item->entered_at, 'm/d') }} tasks)) { {{-- مدت زمان --}} - {{ $item->entered_at && $item->exited_at ? \Carbon\Carbon::parse($item->duration)->format('H:i') : '-' }} + {{ $item->entered_at && $item->exited_at && $item->duration ? \Illuminate\Support\Str::of($item->duration)->beforeLast(':')->toString() : '-' }} {{-- تأخیر --}}