@@ -28,6 +28,13 @@ const DAY_5 = 131083;
2828const DAY_6 = 131084 ;
2929const DAY_7 = 131085 ;
3030
31+ type DateTimeErrors = shape (
32+ 'warning_count ' => int,
33+ 'warnings ' => darray<int, string>,
34+ 'error_count ' => int,
35+ 'errors ' => darray<int, string>
36+ );
37+
3138<<__PHPStdLib>>
3239function checkdate (int $ month , int $ day , int $ year );
3340<<__PHPStdLib>>
@@ -151,13 +158,13 @@ class DateTime implements DateTimeInterface {
151158 public function __construct (string $ time = 'now ' , ?DateTimeZone $ timezone = null );
152159 public function add (DateInterval $ interval );
153160 public function modify (string $ modify );
154- public function getOffset ();
155- public function getTimestamp ();
161+ public function getOffset (): int ;
162+ public function getTimestamp (): int ;
156163 public function getTimezone ();
157164 public function setDate (int $ year , int $ month , int $ day );
158165 public function setISODate (int $ year , int $ week , int $ day = 1 );
159166 public function setTime (int $ hour , int $ minute , int $ second = 0 );
160- public function setTimestamp (int $ unixtimestamp );
167+ public function setTimestamp (int $ unixtimestamp ): this ;
161168 public function setTimezone (DateTimeZone $ timezone );
162169 public function sub (DateInterval $ interval );
163170 public function diff (DateTimeInterface $ datetime2 , bool $ absolute = false );
@@ -167,24 +174,25 @@ class DateTime implements DateTimeInterface {
167174 string $ time ,
168175 ?DateTimeZone $ timezone = null ,
169176 );
170- public static function getLastErrors (): darray ;
177+ public static function getLastErrors (): DateTimeErrors ;
171178}
172179
180+
173181class DateTimeImmutable implements DateTimeInterface {
174182 private DateTime $ data ;
175183
176184 public function __construct (string $ time = 'now ' , ?DateTimeZone $ timezone = null );
177- public function add (DateInterval $ interval );
178- public function modify (string $ modify );
179- public function getOffset ();
180- public function getTimestamp ();
185+ public function add (DateInterval $ interval ): this ;
186+ public function modify (string $ modify ): this ;
187+ public function getOffset (): int ;
188+ public function getTimestamp (): int ;
181189 public function getTimezone ();
182- public function setDate (int $ year , int $ month , int $ day );
183- public function setISODate (int $ year , int $ week , int $ day = 1 );
184- public function setTime (int $ hour , int $ minute , int $ second = 0 );
185- public function setTimestamp (int $ unixtimestamp );
186- public function setTimezone (DateTimeZone $ timezone );
187- public function sub (DateInterval $ interval );
190+ public function setDate (int $ year , int $ month , int $ day ): this ;
191+ public function setISODate (int $ year , int $ week , int $ day = 1 ): this ;
192+ public function setTime (int $ hour , int $ minute , int $ second = 0 ): this ;
193+ public function setTimestamp (int $ unixtimestamp ): this ;
194+ public function setTimezone (DateTimeZone $ timezone ): this ;
195+ public function sub (DateInterval $ interval ): this ;
188196 public function diff (DateTimeInterface $ datetime2 , bool $ absolute = false );
189197 public function format (string $ format );
190198 public static function createFromFormat (
@@ -193,7 +201,7 @@ class DateTimeImmutable implements DateTimeInterface {
193201 ?DateTimeZone $ timezone = null ,
194202 );
195203 public static function createFromMutable (DateTime $ datetime );
196- public static function getLastErrors (): darray ;
204+ public static function getLastErrors (): DateTimeErrors ;
197205 public function __clone ();
198206}
199207
0 commit comments