diff --git a/app/views/anime/details.php b/app/views/anime/details.php
index f7d4b313..f8d0dd09 100644
--- a/app/views/anime/details.php
+++ b/app/views/anime/details.php
@@ -17,6 +17,13 @@ use function Aviat\AnimeClient\getLocalImg;
= $data['status'] ?> |
+
+
+ Original Airing |
+ = $data['airDate'] ?> |
+
+
+
Show Type |
= (strlen($data['show_type']) > 3) ? ucfirst(strtolower($data['show_type'])) : $data['show_type'] ?> |
diff --git a/src/AnimeClient/API/Kitsu/Transformer/AnimeTransformer.php b/src/AnimeClient/API/Kitsu/Transformer/AnimeTransformer.php
index 6da23ae1..16ed9a29 100644
--- a/src/AnimeClient/API/Kitsu/Transformer/AnimeTransformer.php
+++ b/src/AnimeClient/API/Kitsu/Transformer/AnimeTransformer.php
@@ -121,6 +121,7 @@ final class AnimeTransformer extends AbstractTransformer {
}
return AnimePage::from([
+ 'airDate' => Kitsu::formatAirDates($base['startDate'], $base['endDate']),
'age_rating' => $base['ageRating'],
'age_rating_guide' => $base['ageRatingGuide'],
'characters' => $characters,
diff --git a/src/AnimeClient/Kitsu.php b/src/AnimeClient/Kitsu.php
index 11013a13..29078174 100644
--- a/src/AnimeClient/Kitsu.php
+++ b/src/AnimeClient/Kitsu.php
@@ -68,6 +68,57 @@ final class Kitsu {
return AnimeAiringStatus::NOT_YET_AIRED;
}
+ /**
+ * Reformat the airing date range for an Anime
+ *
+ * @param string|null $startDate
+ * @param string|null $endDate
+ * @return string
+ */
+ public static function formatAirDates(string $startDate = NULL, string $endDate = NULL): string
+ {
+ if (empty($startDate))
+ {
+ return '';
+ }
+
+ $monthMap = [
+ '01' => 'Jan',
+ '02' => 'Feb',
+ '03' => 'Mar',
+ '04' => 'Apr',
+ '05' => 'May',
+ '06' => 'Jun',
+ '07' => 'Jul',
+ '08' => 'Aug',
+ '09' => 'Sep',
+ '10' => 'Oct',
+ '11' => 'Nov',
+ '12' => 'Dec',
+ ];
+
+ [$startYear, $startMonth, $startDay] = explode('-', $startDate);
+
+ if ($startDate === $endDate)
+ {
+ return "{$monthMap[$startMonth]} $startDay, $startYear";
+ }
+
+ if (empty($endDate))
+ {
+ return "{$monthMap[$startMonth]} {$startYear} - ";
+ }
+
+ [$endYear, $endMonth] = explode('-', $endDate);
+
+ if ($startYear === $endYear)
+ {
+ return "{$monthMap[$startMonth]} - {$monthMap[$endMonth]} $startYear";
+ }
+
+ return "{$monthMap[$startMonth]} {$startYear} - {$monthMap[$endMonth]} {$endYear}";
+ }
+
public static function getPublishingStatus(string $kitsuStatus, string $startDate = NULL, string $endDate = NULL): string
{
$startPubDate = new DateTimeImmutable($startDate ?? 'tomorrow');
diff --git a/src/AnimeClient/Types/AnimePage.php b/src/AnimeClient/Types/AnimePage.php
index 8679a7ee..a9f851ff 100644
--- a/src/AnimeClient/Types/AnimePage.php
+++ b/src/AnimeClient/Types/AnimePage.php
@@ -25,4 +25,6 @@ final class AnimePage extends Anime {
public array $links = [];
public array $staff = [];
+
+ public ?string $airDate = '';
}
\ No newline at end of file