From fadc652c30c1828c62bd9fba30194b2a2cc5d68f Mon Sep 17 00:00:00 2001 From: Lazizbek Ergashev Date: Sun, 12 Jul 2026 17:49:10 +0500 Subject: [PATCH] Fix range date fields not updating with configured timezone --- src/Fieldtypes/Date.php | 7 ++++++- tests/Fieldtypes/DateTest.php | 12 ++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/Fieldtypes/Date.php b/src/Fieldtypes/Date.php index 3d27b639196..5d8e381507e 100644 --- a/src/Fieldtypes/Date.php +++ b/src/Fieldtypes/Date.php @@ -251,7 +251,12 @@ private function processDateTime($value) return $this->formatAndCast($date, $this->saveFormat()); } - $date = Carbon::parse($value, 'UTC'); + $timezone = $this->resolvedTimezone(); + if ($timezone !== 'auto') { + $date = Carbon::parse($value, $timezone); + } else { + $date = Carbon::parse($value, 'UTC'); + } return $this->formatAndCast($date, $this->saveFormat()); } diff --git a/tests/Fieldtypes/DateTest.php b/tests/Fieldtypes/DateTest.php index b0050887beb..5f39a3b6b2a 100644 --- a/tests/Fieldtypes/DateTest.php +++ b/tests/Fieldtypes/DateTest.php @@ -244,6 +244,18 @@ public static function processProvider() ['start' => '2012-08-29', 'end' => '2013-09-27'], ['start' => '2012-08-29', 'end' => '2013-09-27'], ], + 'range with field timezone' => [ + 'UTC', + ['mode' => 'range', 'time_enabled' => true, 'timezone' => 'America/New_York'], + ['start' => '2012-08-29T05:00:00', 'end' => '2013-09-27T23:59:00'], + ['start' => '2012-08-29 09:00', 'end' => '2013-09-28 03:59'], + ], + 'date with time and field timezone' => [ + 'UTC', + ['time_enabled' => true, 'timezone' => 'America/New_York'], + '2012-08-29T05:00:00', + '2012-08-29 09:00', + ], ]; }