Skip to content

Commit 00df54d

Browse files
committed
Make TimeZoneRegion::utc() return a TimeZoneRegion not an TimeZoneOffset
1 parent 2d3e3cd commit 00df54d

8 files changed

Lines changed: 21 additions & 10 deletions

src/Instant.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,6 @@ public function jsonSerialize() : string
333333

334334
public function __toString() : string
335335
{
336-
return (string) ZonedDateTime::ofInstant($this, TimeZone::utc());
336+
return (string) ZonedDateTime::ofInstant($this, TimeZoneOffset::utc());
337337
}
338338
}

src/LocalDateTime.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -723,7 +723,7 @@ public function isPast(TimeZone $timeZone, ?Clock $clock = null) : bool
723723
*/
724724
public function toDateTime() : \DateTime
725725
{
726-
return $this->atTimeZone(TimeZone::utc())->toDateTime();
726+
return $this->atTimeZone(TimeZoneOffset::utc())->toDateTime();
727727
}
728728

729729
/**

src/TimeZone.php

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,7 @@ public static function parse(string $text) : TimeZone
3636
return TimeZoneRegion::parse($text);
3737
}
3838

39-
public static function utc() : TimeZoneOffset
40-
{
41-
return TimeZoneOffset::utc();
42-
}
39+
abstract public static function utc(): self;
4340

4441
/**
4542
* Returns the unique time-zone ID.

src/TimeZoneRegion.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,11 @@ public static function from(DateTimeParseResult $result) : TimeZoneRegion
5757
return TimeZoneRegion::of($region);
5858
}
5959

60+
public static function utc() : TimeZoneRegion
61+
{
62+
return TimeZoneRegion::of('UTC');
63+
}
64+
6065
/**
6166
* Returns all the available time-zone identifiers.
6267
*

tests/InstantTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
use Brick\DateTime\Duration;
1010
use Brick\DateTime\Instant;
1111
use Brick\DateTime\TimeZone;
12+
use Brick\DateTime\TimeZoneOffset;
1213

1314
/**
1415
* Unit tests for class Instant.
@@ -641,7 +642,7 @@ public function providerToString() : array
641642

642643
public function testAtTimeZone(): void
643644
{
644-
$timeZone = TimeZone::utc();
645+
$timeZone = TimeZoneOffset::utc();
645646
$instant = Instant::of(1000000000);
646647
$result = $instant->atTimeZone($timeZone);
647648
$this->assertSame(1000000000, $result->getInstant()->getEpochSecond());

tests/TimeZoneOffsetTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use Brick\DateTime\Instant;
99
use Brick\DateTime\Parser\DateTimeParseException;
1010
use Brick\DateTime\TimeZoneOffset;
11+
use Brick\DateTime\TimeZoneRegion;
1112

1213
/**
1314
* Units tests for class TimeZoneOffset.

tests/TimeZoneRegionTest.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,4 +168,11 @@ public function testToString(): void
168168
{
169169
$this->assertSame('America/Los_Angeles', (string) TimeZoneRegion::of('America/Los_Angeles'));
170170
}
171+
172+
public function testUTC(): void
173+
{
174+
$utcTimeZoneRegion = TimeZoneRegion::utc();
175+
$this->assertInstanceOf(TimeZoneRegion::class, $utcTimeZoneRegion);
176+
$this->assertSame('UTC', $utcTimeZoneRegion->getId());
177+
}
171178
}

tests/TimeZoneTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,13 @@ public function providerParseInvalidStringThrowsException() : array
6161

6262
public function testUtc(): void
6363
{
64-
$this->assertTimeZoneOffsetIs(0, TimeZone::utc());
64+
$this->assertTimeZoneOffsetIs(0, TimeZoneOffset::utc());
6565
}
6666

6767
public function testIsEqualTo(): void
6868
{
69-
$this->assertTrue(TimeZone::utc()->isEqualTo(TimeZoneOffset::ofTotalSeconds(0)));
70-
$this->assertFalse(TimeZone::utc()->isEqualTo(TimeZoneOffset::ofTotalSeconds(3600)));
69+
$this->assertTrue(TimeZoneOffset::utc()->isEqualTo(TimeZoneOffset::ofTotalSeconds(0)));
70+
$this->assertFalse(TimeZoneOffset::utc()->isEqualTo(TimeZoneOffset::ofTotalSeconds(3600)));
7171
}
7272

7373
/**

0 commit comments

Comments
 (0)