diff --git a/src/Carbon/Traits/Comparison.php b/src/Carbon/Traits/Comparison.php index f6261d88..c7f49f49 100644 --- a/src/Carbon/Traits/Comparison.php +++ b/src/Carbon/Traits/Comparison.php @@ -994,6 +994,13 @@ public function is(string $tester) return $this->year === (int) $tester; } + if (preg_match('/^(?:Jan|January|Feb|February|Mar|March|Apr|April|May|Jun|June|Jul|July|Aug|August|Sep|September|Oct|October|Nov|November|Dec|December)$/i', $tester)) { + return $this->isSameMonth( + $this->transmitFactory(static fn () => static::parse($tester)), + false, + ); + } + if (preg_match('/^\d{3,}-\d{1,2}$/', $tester)) { return $this->isSameMonth(static::parse($tester)); } diff --git a/tests/Carbon/IsTest.php b/tests/Carbon/IsTest.php index 1409a825..0617c6fa 100644 --- a/tests/Carbon/IsTest.php +++ b/tests/Carbon/IsTest.php @@ -1035,6 +1035,9 @@ public function testIs() $this->assertTrue(Carbon::parse('2019-06-02 12:23:45')->is('Sunday')); $this->assertFalse(Carbon::parse('2019-06-02 12:23:45')->is('Monday')); $this->assertTrue(Carbon::parse('2019-06-02 12:23:45')->is('June')); + $this->assertTrue(Carbon::parse('2019-05-31 12:23:45')->is('May')); + $this->assertTrue(Carbon::parse('2019-05-31 12:23:45')->is('mAy')); + $this->assertFalse(Carbon::parse('2019-05-31 12:23:45')->is('April')); $this->assertFalse(Carbon::parse('2019-06-02 12:23:45')->is('May')); $this->assertTrue(Carbon::parse('2019-06-02 12:23:45')->is('12:23')); $this->assertFalse(Carbon::parse('2019-06-02 12:23:45')->is('12:26'));