@@ -72,7 +72,7 @@ public function __construct(string $name, ?string $value, string $expires = null
72
72
$ this ->samesite = $ samesite ;
73
73
74
74
if (null !== $ expires ) {
75
- $ timestampAsDateTime = \DateTime ::createFromFormat ('U ' , $ expires );
75
+ $ timestampAsDateTime = \DateTimeImmutable ::createFromFormat ('U ' , $ expires );
76
76
if (false === $ timestampAsDateTime ) {
77
77
throw new \UnexpectedValueException (sprintf ('The cookie expiration time "%s" is not valid. ' , $ expires ));
78
78
}
@@ -89,7 +89,7 @@ public function __toString(): string
89
89
$ cookie = sprintf ('%s=%s ' , $ this ->name , $ this ->rawValue );
90
90
91
91
if (null !== $ this ->expires ) {
92
- $ dateTime = \DateTime ::createFromFormat ('U ' , $ this ->expires , new \DateTimeZone ('GMT ' ));
92
+ $ dateTime = \DateTimeImmutable ::createFromFormat ('U ' , $ this ->expires , new \DateTimeZone ('GMT ' ));
93
93
$ cookie .= '; expires= ' .str_replace ('+0000 ' , '' , $ dateTime ->format (self ::DATE_FORMATS [0 ]));
94
94
}
95
95
@@ -202,13 +202,13 @@ private static function parseDate(string $dateValue): ?string
202
202
}
203
203
204
204
foreach (self ::DATE_FORMATS as $ dateFormat ) {
205
- if (false !== $ date = \DateTime ::createFromFormat ($ dateFormat , $ dateValue , new \DateTimeZone ('GMT ' ))) {
205
+ if (false !== $ date = \DateTimeImmutable ::createFromFormat ($ dateFormat , $ dateValue , new \DateTimeZone ('GMT ' ))) {
206
206
return $ date ->format ('U ' );
207
207
}
208
208
}
209
209
210
210
// attempt a fallback for unusual formatting
211
- if (false !== $ date = date_create ($ dateValue , new \DateTimeZone ('GMT ' ))) {
211
+ if (false !== $ date = date_create_immutable ($ dateValue , new \DateTimeZone ('GMT ' ))) {
212
212
return $ date ->format ('U ' );
213
213
}
214
214
0 commit comments