From 9059adcb6e11af016d7b9e490a2ca326cbe516b4 Mon Sep 17 00:00:00 2001 From: abdulmohsen Date: Sun, 28 Apr 2024 19:18:49 +0300 Subject: [PATCH] Ensure int never makes it to DateTime object. --- src/Libs/Extends/Date.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Libs/Extends/Date.php b/src/Libs/Extends/Date.php index 2f93c11d..18076eab 100644 --- a/src/Libs/Extends/Date.php +++ b/src/Libs/Extends/Date.php @@ -6,12 +6,22 @@ namespace App\Libs\Extends; use DateTimeImmutable; use DateTimeInterface; +use DateTimeZone; use JsonSerializable; use Stringable; final class Date extends DateTimeImmutable implements Stringable, JsonSerializable { - public const ATOM = DateTimeInterface::ATOM; + public const string ATOM = DateTimeInterface::ATOM; + + public function __construct(string|int $time = 'now', ?DateTimeZone $timezone = null) + { + if (ctype_digit($time)) { + $time = '@' . $time; + } + + parent::__construct($time, $timezone); + } public function __toString(): string {