|
23 | 23 | use IntlCalendar; |
24 | 24 | use IntlDateFormatter; |
25 | 25 | use Locale; |
26 | | -use ReturnTypeWillChange; |
27 | 26 |
|
28 | 27 | /** |
29 | 28 | * This trait has properties and methods for Time and TimeLegacy. |
@@ -238,16 +237,15 @@ public static function create( |
238 | 237 | * Provides a replacement for DateTime's own createFromFormat function, that provides |
239 | 238 | * more flexible timeZone handling |
240 | 239 | * |
| 240 | + * @psalm-external-mutation-free |
| 241 | + * |
241 | 242 | * @param string $format |
242 | 243 | * @param string $datetime |
243 | 244 | * @param DateTimeZone|string|null $timezone |
244 | 245 | * |
245 | | - * @return static |
246 | | - * |
247 | 246 | * @throws Exception |
248 | 247 | */ |
249 | | - #[ReturnTypeWillChange] |
250 | | - public static function createFromFormat($format, $datetime, $timezone = null) |
| 248 | + public static function createFromFormat($format, $datetime, $timezone = null): static |
251 | 249 | { |
252 | 250 | if (! $date = parent::createFromFormat($format, $datetime)) { |
253 | 251 | throw I18nException::forInvalidFormat($format); |
@@ -673,16 +671,14 @@ protected function setValue(string $name, $value) |
673 | 671 | * |
674 | 672 | * @param DateTimeZone|string $timezone |
675 | 673 | * |
676 | | - * @return static |
677 | | - * |
678 | 674 | * @throws Exception |
679 | 675 | */ |
680 | | - #[ReturnTypeWillChange] |
681 | | - public function setTimezone($timezone) |
| 676 | + public function setTimezone($timezone): static |
682 | 677 | { |
683 | 678 | $timezone = $timezone instanceof DateTimeZone ? $timezone : new DateTimeZone($timezone); |
| 679 | + $dateTime = $this->toDateTime()->setTimezone($timezone); |
684 | 680 |
|
685 | | - return static::createFromInstance($this->toDateTime()->setTimezone($timezone), $this->locale); |
| 681 | + return static::createFromInstance($dateTime, $this->locale); |
686 | 682 | } |
687 | 683 |
|
688 | 684 | // -------------------------------------------------------------------- |
|
0 commit comments