From 2d0d6851725c705e710f386304739955daab841a Mon Sep 17 00:00:00 2001 From: Jing Li Date: Tue, 30 Apr 2024 21:05:59 +0800 Subject: [PATCH] Update --- app/Admin/Services/OvertimeApplyService.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/app/Admin/Services/OvertimeApplyService.php b/app/Admin/Services/OvertimeApplyService.php index ef0142c..7e297e0 100644 --- a/app/Admin/Services/OvertimeApplyService.php +++ b/app/Admin/Services/OvertimeApplyService.php @@ -66,15 +66,23 @@ class OvertimeApplyService extends BaseService } if (isset($data['datetime_range'])) { $time = explode(',', $data['datetime_range']); - $start = Carbon::createFromTimestamp(data_get($time, 0)); - $end = Carbon::createFromTimestamp(data_get($time, 1)); + $start = Carbon::createFromTimestamp(data_get($time, 0))->startOfMinute(); + $end = Carbon::createFromTimestamp(data_get($time, 1))->startOfMinute(); $data['start_at'] = $start; $data['end_at'] = $end; $data['date'] = $start->format('Y-m-d'); } if (isset($data['start_at']) && isset($data['end_at'])) { - $start = $data['start_at'] instanceof \DateTime ? $data['start_at'] : Carbon::parse($data['start_at']); - $end = $data['end_at'] instanceof \DateTime ? $data['end_at'] : Carbon::parse($data['end_at']); + $start = $data['start_at']; + if (! $start instanceof Carbon) { + $start = Carbon::parse($start)->startOfMinute(); + } + + $end = $data['end_at']; + if (! $end instanceof Carbon) { + $end = Carbon::parse($end)->startOfMinute(); + } + $data['hours'] = $start->diffInHours($end); }