File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -88,6 +88,13 @@ public static function fromNativeDateTimeZone(DateTimeZone $dateTimeZone): TimeZ
8888 return $ parsed ;
8989 }
9090
91+ public static function fromDefaultTimeZone (): TimeZone
92+ {
93+ return static ::fromNativeDateTimeZone (date_default_timezone_get () === false
94+ ? new DateTimeZone ('UTC ' )
95+ : new DateTimeZone (date_default_timezone_get ()));
96+ }
97+
9198 /**
9299 * Returns an equivalent native `DateTimeZone` object for this TimeZone.
93100 */
Original file line number Diff line number Diff line change @@ -101,4 +101,18 @@ public static function providerFromNativeDateTimeZone(): iterable
101101 yield ['-02:30:30 ' ];
102102 }
103103 }
104+
105+ public function testFromDefaultTimeZone (): void
106+ {
107+ $ defaultTimeZone = date_default_timezone_get ();
108+ if ($ defaultTimeZone === false ) {
109+ $ defaultTimeZone = 'UTC ' ;
110+ }
111+
112+ $ timeZone = TimeZone::fromDefaultTimeZone ();
113+
114+ self ::assertInstanceOf (TimeZone::class, $ timeZone );
115+ self ::assertSame ($ defaultTimeZone , $ timeZone ->getId ());
116+ }
117+
104118}
You can’t perform that action at this time.
0 commit comments