diff --git a/app/Anime.php b/app/Anime.php index e8a1242..708a711 100644 --- a/app/Anime.php +++ b/app/Anime.php @@ -154,13 +154,25 @@ class Anime extends JikanApiSearchableModel /** @noinspection PhpUnused */ public function filterByStartDate(\Laravel\Scout\Builder|\Illuminate\Database\Eloquent\Builder $query, CarbonImmutable $value): \Laravel\Scout\Builder|\Illuminate\Database\Eloquent\Builder { - return $query->where("aired.from", ">=", $value->setTime(0, 0)->toAtomString()); + return $query + ->where("aired.from", ">=", + $value + ->setTime(0, 0) + ->setTimezone(new \DateTimeZone('UTC')) + ->toAtomString() + ); } /** @noinspection PhpUnused */ public function filterByEndDate(\Laravel\Scout\Builder|\Illuminate\Database\Eloquent\Builder $query, CarbonImmutable $value): \Laravel\Scout\Builder|\Illuminate\Database\Eloquent\Builder { - return $query->where("aired.to", "<=", $value->setTime(0, 0)->toAtomString()); + return $query + ->where("aired.to", "<=", + $value + ->setTime(0, 0) + ->setTimezone(new \DateTimeZone('UTC')) + ->toAtomString() + ); } public function filterByProducer(\Laravel\Scout\Builder|\Illuminate\Database\Eloquent\Builder $query, string $value): \Laravel\Scout\Builder|\Illuminate\Database\Eloquent\Builder diff --git a/app/Features/QueryAnimeSeasonHandlerBase.php b/app/Features/QueryAnimeSeasonHandlerBase.php index 304f178..67a8ced 100644 --- a/app/Features/QueryAnimeSeasonHandlerBase.php +++ b/app/Features/QueryAnimeSeasonHandlerBase.php @@ -61,11 +61,13 @@ abstract class QueryAnimeSeasonHandlerBase implements RequestHandler default => throw new BadRequestException('Invalid season supplied'), }; - $from = Carbon::createFromDate($year, $monthStart, 1); - $from->setTime(0, 0); + $from = Carbon::createFromDate($year, $monthStart, 1) + ->setTimezone(new \DateTimeZone('UTC')) + ->setTime(0, 0); - $to = Carbon::createFromDate($year, $monthEnd, 1); - $to->setTime(0, 0); + $to = Carbon::createFromDate($year, $monthEnd, 1) + ->setTimezone(new \DateTimeZone('UTC')) + ->setTime(0,0); return [ $from, diff --git a/app/IsoDateFormatter.php b/app/IsoDateFormatter.php index 8003bc6..edf9be3 100644 --- a/app/IsoDateFormatter.php +++ b/app/IsoDateFormatter.php @@ -14,6 +14,7 @@ trait IsoDateFormatter $dt[2] ?? 1 ) ->setTime(0, 0) + ->setTimezone(new \DateTimeZone('UTC')) ->format(DATE_ATOM); } } diff --git a/app/Manga.php b/app/Manga.php index cf94471..9fc193f 100644 --- a/app/Manga.php +++ b/app/Manga.php @@ -68,13 +68,23 @@ class Manga extends JikanApiSearchableModel /** @noinspection PhpUnused */ public function filterByStartDate(\Laravel\Scout\Builder|\Illuminate\Database\Eloquent\Builder $query, CarbonImmutable $value): \Laravel\Scout\Builder|\Illuminate\Database\Eloquent\Builder { - return $query->where("published.from", ">=", $value->setTime(0, 0)->toAtomString()); + return $query + ->where("published.from", ">=", + $value->setTime(0, 0) + ->setTimezone(new \DateTimeZone('UTC')) + ->toAtomString() + ); } /** @noinspection PhpUnused */ public function filterByEndDate(\Laravel\Scout\Builder|\Illuminate\Database\Eloquent\Builder $query, CarbonImmutable $value): \Laravel\Scout\Builder|\Illuminate\Database\Eloquent\Builder { - return $query->where("published.to", "<=", $value->setTime(0, 0)->toAtomString()); + return $query + ->where("published.to", "<=", + $value->setTime(0, 0) + ->setTimezone(new \DateTimeZone('UTC')) + ->toAtomString() + ); } public function filterByMagazine(\Laravel\Scout\Builder|\Illuminate\Database\Eloquent\Builder $query, string $value): \Laravel\Scout\Builder|\Illuminate\Database\Eloquent\Builder