Skip to content

Commit 59cb7ef

Browse files
committed
Enhance lunar date formatting by integrating animal year and era year calculations in KhmerFormatter
1 parent f8e8024 commit 59cb7ef

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/KhmerFormatter.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,8 @@ private function parseCustomFormat(string $format, int $day, int $month, DateTim
160160
{
161161
$moonDay = KhmerCalculator::getKhmerLunarDay($day);
162162
$beYear = KhmerCalculator::getBEYear($dateTime);
163+
$animalYear = KhmerCalculator::getAnimalYear($dateTime);
164+
$eraYears = KhmerCalculator::getJolakSakarajYear($dateTime) % 10;
163165

164166
$tokens = [
165167
'W' => self::KHMER_DAYS[$dayOfWeek], // Day of week
@@ -170,8 +172,8 @@ private function parseCustomFormat(string $format, int $day, int $month, DateTim
170172
'N' => $moonDay['moonStatus'] === 0 ? 'កើត' : 'រោច', // Moon status full
171173
'm' => self::LUNAR_MONTHS[$month] ?? '', // Lunar month
172174
'M' => self::KHMER_MONTHS[(int)$dateTime->format('n')] ?? '', // Solar month
173-
'a' => $this->getAnimalYear($beYear), // Animal year
174-
'e' => $this->getEraYear($beYear), // Era year
175+
'a' => Constants::ANIMAL_YEARS[$animalYear] ?? '',
176+
'e' => Constants::ERA_YEARS[$eraYears] ?? '',
175177
'b' => $this->toKhmerNumber((string)$beYear), // Buddhist Era year
176178
'c' => $this->toKhmerNumber($dateTime->format('Y')), // Gregorian year
177179
'j' => $this->toKhmerNumber((string)KhmerCalculator::getJolakSakarajYear($dateTime)), // Jolak Sakaraj year

0 commit comments

Comments
 (0)