From 5493960958b085a9930b2ffd21d426f4a8f64527 Mon Sep 17 00:00:00 2001 From: mscherer Date: Sun, 10 Aug 2025 12:51:08 +0200 Subject: [PATCH 1/2] Split out toQuarterRange() for cleaner return API. --- src/FormattingTrait.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/FormattingTrait.php b/src/FormattingTrait.php index 33a1f31b..e9939f36 100644 --- a/src/FormattingTrait.php +++ b/src/FormattingTrait.php @@ -238,6 +238,7 @@ public function toUnixString(): string * * @param bool $range Range. * @return array|int 1, 2, 3, or 4 quarter of year or array if $range true + * @deprecated 3.3.0 The $range parameter is deprecated. Use toQuarterRange() for quarter ranges. */ public function toQuarter(bool $range = false): int|array { @@ -246,7 +247,24 @@ public function toQuarter(bool $range = false): int|array return $quarter; } + trigger_error( + 'Using toQuarter() with `$range=true` is deprecated. Use `toQuarterRange()` instead.', + E_USER_DEPRECATED + ); + + return $this->toQuarterRange(); + } + + /** + * Returns the quarter range + * + * @return array Array with start and end date of quarter in Y-m-d format + */ + public function toQuarterRange(): array + { + $quarter = (int)ceil((int)$this->format('m') / 3); $year = $this->format('Y'); + switch ($quarter) { case 1: return [$year . '-01-01', $year . '-03-31']; From 092bf240f6746a30d03ffd7def9eef708332c19d Mon Sep 17 00:00:00 2001 From: mscherer Date: Sun, 10 Aug 2025 12:52:25 +0200 Subject: [PATCH 2/2] Split out toQuarterRange() for cleaner return API. --- src/FormattingTrait.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/FormattingTrait.php b/src/FormattingTrait.php index e9939f36..edb52916 100644 --- a/src/FormattingTrait.php +++ b/src/FormattingTrait.php @@ -236,9 +236,10 @@ public function toUnixString(): string /** * Returns the quarter * + * Deprecated 3.3.0: The $range parameter is deprecated. Use toQuarterRange() for quarter ranges. + * * @param bool $range Range. * @return array|int 1, 2, 3, or 4 quarter of year or array if $range true - * @deprecated 3.3.0 The $range parameter is deprecated. Use toQuarterRange() for quarter ranges. */ public function toQuarter(bool $range = false): int|array {