Pages

ខ្មែរមេឌៀរ

Saturday, July 14, 2012

Khmer New Year


This writing would not be sufficient without a discussion of the Khmer New Year since New Year is related to historical aspect of Khmer culture and its calendar system. Khmer New Year is the largest and most festive celebration in Cambodia.

Background

Before the end of the Angkor era, Khmer celebrated New Year according to the lunisolar calendar. According to Zhou Daguan, the Chinese traveler to Cambodia in the 13th century, Khmer New Year occurred on the tenth month on the Chinese calendar. [SIN03] By running a calculation on Khmer calendar for 1295 AD, the year that Zhou Daguan recorded the event, the tenth month on the Chinese calendar is the first month on Khmer calendar. The first month of the Khmer calendar is Mekasay (មិគសិរ) which falls around January or December in the Gregorian calendar. This is the New Year date which is not widely celebrated today.
After the Angkorian period, Cambodians make use of both lunisolar and solar calendar. With the adoption of the new calendar system, Khmer changed its celebration as well. Many suggest that the decision to change the New Year date to April is due to civil reasons. In April, the farmers are done from their farming tasks and thus have time to rest and celebrate the New Year.
The New Year date was determined based on a type of solar calendar. [KHM97] If the New Year date is calculated using the Ayun Songkran, a calculation based on the lunar calendar, it is not consistent with the lunisolar calendar, but it is said that it should fall between the fourth day of the fifth and sixth month (4 Keit of Chaet and 4 Keit of Vesak).[KHM97] For New Year calculation using the Samagn Songkran--a calculation based on solar calendar, the date typically falls on April 13 or 14 on the Gregorian calendar in recent years. This is the widely celebrated and official New Year for Cambodians today.
Usually in ancient times, the celebration would last for a month; half of a month is celebrated before the New Year date and the other half after the New Year date. [SIN03] Today the celebration lasts about the duration of the New Year, which is 3 to 4 days.

The Calendar Aspect

According to the article from Sinhour Torn [SIN03], Cambodians celebrate two different New Years. The first New Year that is not widely celebrated is on the first day of Chaet (១កើត ខែ ចេត្រ) of the Khmer lunisolar calendar. On that day, the animal year is changed to a new animal.
On the second New Year which is one of the biggest celebrations for Cambodians, it typically starts either on April 13 or April 14 of the Gregorian calendar. It lasts for three to four days depending on the year. The first day is called Songkran. The second is called Vonabot. The third day of the four-day New Year is also called Vonabot. The last day is called Laeung Sak. Laeung Sak day is the day to increment Sak.
There are different opinions on exactly when to increment the Buddhist era. Some people choose to increment the Buddhist era in January for convenience, some do it in at the start of the New Year (April 13 or 14), and others suggest doing it on Visak Bojea day. An article from the University of Phnom Penh suggests that the Buddhist era is incremented on Learng Sak day, the last day of the New Year.

April New Year

In order to explain why the New Year date is in April, we need to understand the solar calendar that was used in that period. A year is divided into 12 Reaseys. Reaseys are the divisions of the path of the Earth around the sun. These Reaseys are Makara Reasey, Khumpheak Reasey, and end with Tnou Reasey. See appendix for a complete list of Reaseys.
These Reaseys correspond to star constellations. Within the twelve Reaseys there is a star called Songkran or Chaitra. This star is selected as a dividing point to end the current year and start a new year. The star divides the Mena and Mesa Reasey. [KHM97] The Earth aligns with the star and the sun in a straight line on April 13 or 14 on the Gregorian calendar in recent years. This marks the day of the New Year.
As soon as the Earth enters Mesa Reasey, it is the first day of New Year called Songkran day. The calendar calculation from Mr. Roath Kim Seang shows how Loeung Sak date is calculated. Then we can calculate the time and day of week of the the Songkran. Using the same algorithm, we determine the length of Vonobot to know when the sonkran date took place.
Similarly, Laeoung Sak time is the date and time calculated by Horas to determine the ending of the celebration, thus determining if the celebration is 3 or 4 days long.

Songkran Date (ថ្ងៃ​សង្រ្កាន្ដ) Calculation

Songkran date calculation is based on Leungsak day (ថ្ងៃ​ឡើងស័ក). Vonobot (វនប័ត) calculation determine if Vonobot day is the typically one day or the rare case of two days. Thus making Khmer New Year 3 days or 4 days (Vonobot has 2 days). From the Leungsak day, you subtract the Vonobot day(s) to find Songkran date. The Leungsak date used the calculation shown earlier in the Chhankitek calculation with additional conditions as follow.

Leungsak Day of the Week

Day of the week of Songkran Day called Pea (ពារ​ឡើងស័ក). It is calculated using the value from Ahkakun calculation.
 $ahk = get_akhakun($be_year);
 $pea = $ahk % 7;
Result of 0-6 is the day of the week where 0:Sat, 1:Sun, 2:Mon, .. 6:Fri.

Leungsak Date

Songkran date calculation use the value from Botethei calculation as follow:
$CHAET = 5;
$PISAK = 6;
$bot = get_botethei($be_year);
if ($bot >=6) {
   $month = $CHAET;
   # check for previous year for (type 3)
   $botleap = get_botethei_leap($ad_year - 1);
   if ($botleap == 3) { // uon case
     $bot++;
   }
} else {
   $month = $PISAK;
   $bot++;
}
return array($bot, $month);
The result is the date $bot and the month $month.

Songkran Calculation

The Songkran calculation has 3 sections (មធ្យម​ព្រះអាទិត្យ, ផល​លម្អិត, and សំផុត​ព្រះអាទិត្យ).

Matyum (មធ្យម​ព្រះអាទិត្យ)

Matym calculation is based on Kromtopul value and Sotin with posible value of 363, 364, 365, and 366. Kromtopul is calculate as follow:
function get_kromtupol($js_year) {
 $t = $js_year * 292207 + 373;
 $ahk = floor($t / 800) + 1;
 $mod = $t % 800;
 $krom = 800 - $mod;
 return $krom;
}
 
With Kromtupol of a specific Jolsakarach (ចុលសករាជ្យ), the Maytum is calculated based on 4 values of Sotin. This calculation will result in Rasey (រាសី), Angsa (អ័ង្សា), and Liba (លិប្តា) as follow:
function matyom($krom, $sotin) {
 $d1 = ($sotin * 800) + $krom ;
 $rasey = floor($d1 /24350);
 $mod1 = $d1 % 24350;
 $angsa = floor($mod1 / 811);
 $mod2 = $mod1 % 811;
 $liba = floor($mod2/14) - 3;
 return array($rasey, $angsa, $liba);
}

PhalLumet (ផល​លម្អិត)

This calcuation determines the angsa and liba for sotin 363.
function phalLumet($mat) {
  $rdif = $mat[0] - 2; # always 9 since mat[0] is 11
  $adif = $mat[1] - 20;
  $ken = array($rdif, $adif, $mat[2]);
  $kenr=$rdif;
   switch($kenr) {
   case 0:
   case 1:
   case 2:
     $phal = array($kenr,0,0);
   break;
   case 3:
   case 4:
   case 5:
     $adijak2 = array(5,29,60);
     $phal = subtractR($adijak2,$ken);
   break;
   case 6:
   case 7:
   case 8:
     $six = array(6,0,0);
     $phal = subtractR($ken,$six);
   break;
   case 9:
   case 10:
   case 11:
     $tvea2 = array(11, 29 ,60);
     $phal = subtractR($tvea2,$ken);
     $phal = reduceR($phal);
     break;
   }
   $kon = ($phal[0]*2)+1;
   $chaya = 129;
   $t = (($phal[1]-15)*60+30)*$kon;
   $lup = floor($t / 900);
   $t3 = $lup + $chaya;
   $angsa = floor($t3/60);
   $liba = $t3 % 60;
   $phal = array(0, $angsa, $liba);
   return $phal;
}

Somphot (សំផុត​ព្រះអាទិត្យ)

This tells about the Songkran date inf the form of Rasey, Angsa, and Liba with possible value of (0, 0, 0-59) respectively.

function somphotSun($mat,$phal) {
   # mat + phal
   $sompot = addR($mat, $phal);
   $sompot = reduceR($sompot);
   return $sompot;
}

Based on the Somphot value for each Sotin (363, 364, 365, 366), we can determine if Vonobot has one or two days. Vonobot has two days if there is a duplicate Angsa value in the Somphot values.
# @return 0=no dup, 1=has dup
function isDupAngsa($somphotList) {
 $dup = array(0);
 for($i=0; $i<4; $i++) {
   $val = $somphotList[$i][1];
   $dup[$val]=$dup[$val] + 1;
 }
 foreach($dup as $v) {
   if ($v > 1)
     return 1;
 }
 return 0;
}
Determine if Sotin is 364 as follow:
#   Sompot Sun case 1: r11,h29,l(0-59), r0,h0,l(0-59), r0,h1..., r0,h2,...
#   case 1: new year sompot r0,h0.l(0-59) = sotin 364
function isSotin364($somphotList) { 
  if ($somphotList[0][0]==11 &&  $somphotList[0][1]==29 && 
    $somphotList[1][0]==0  &&  $somphotList[1][1]==0 && 
    $somphotList[2][0]==0  &&  $somphotList[2][1]== 1) {
    return 1;
  }
  return 0;
} 
Get Sotin value:
function getSotin($js_year, $krom) {
   $sotin = 363;
   $ad = getAD($js_year);
   $loop = 4;
   $somphotlist[0] = array(0,0,0);
   $old_sotin = $sotin;
   for($i=0; $i<$loop; $i++) {
     $sotin = $old_sotin + $i;
     $mat = matyom($krom,$sotin);
     $phal = phalLumet($mat);
     $somphot = somphotSun($mat,$phal);
     $somphotlist[$i] = $somphot;
   }

   $dupAngsa = isDupAngsa($somphotlist);
   $sotin = 363;
   $sotin364 = isSotin364($somphotlist);
   if ($sotin364==1) {
     $sotin = 364;
   }
   return array($sotin, $dupAngsa);
}
To put together, we have the full Songkran function as follow:
# return array of Songkran time and Vonobot value (1 or 2)
function get_songkran($ad_year) {
 $jsyear = convertADtoJS($ad_year);
 $krom = get_kromtupol($jsyear-1);
 $ad = getAD($jsyear);
 $sotinR = getSotin($jsyear, $krom);
 $sotin = $sotinR[0];
   $vonobot = 1;
   if($sotinR[1]==1) {
     $vonobot = 2;
     # vonobot has 2 days
   }
 #matyom Sun
 $mat = matyom($krom,$sotin);

 $phal = phalLumet($mat);
 $somphot = somphotSun($mat,$phal);
 $liba = $somphot[2];
 $time = songkranTime($liba);
 $songkran = array();
 $songkran[0] = $vonobot;
 $songkran[1] = $time;
 return $songkran;
}

Songkran Time Calculation

Songkran time is based on the result of Liba (លិប្តា).
# ​Use liba from Somphot Sun
# @return array[hour, minute]
function songkranTime($liba) {
  if ($lipta > 59) {
   return "Error: lipta can't be greater than 59.";
  }
  $lup = floor($lipta * 4 / 10);
  $rem = ($lipta * 4) % 10;
  $min = floor($rem * 60 / 10);
  $chour = 23;
  $cmin = 60;
  $min = $cmin - $min;
  $hour = $chour - $lup;
  $time = array($hour, $min);
  return reduceTime($time);
}

Songkran Time and Date Table

The following are list of Songkran time and date with Leoung Sak date.
Year in ADYear in JSSongkran DateSongkran TimeLoeung Sak Date
1990 1352 ៤រោច ខែចេត្រ03:36 ៦រោច ខែចេត្រ
1991 1353 ១កើត ខេពិសាខ09:36 ៣កើត ខែពិសាខ
1992 1354 ១១កើត​ ខែចេត្រ 15:12 ១៣កើត​ ខែចេត្រ
1993 1355 ៨រោច ខែចេត្រ22:00 ១០រោច ខែចេត្រ
1994 1356 ៤កើត​ ខែចេត្រ04:24 ៦កើត​ ខែចេត្រ
1995 1357 ១៤កើត​ ខែចេត្រ10:24 ១រោច ខែចេត្រ
1996 1358 ១០រោច ខែចេត 16:00 ១២រោច ខែចេត
1997 1359 ៦កើត​ ខែចេត្រ22:48 ៩កើត​ ខែចេត្រ
1998 1360 ៣រោច ខែចេត05:12 ៥រោច ខែចេត
1999 1361 ១៤រោច ខែចេត្រ11:12 ២កើត ខែពិសាខ
2000 1362១០រោច ខែចេត16:48១២រោច ខែចេត
2001 1363 ៥រោច ខែចេត្រ23:36 ៨រោច ខែចេត្រ
2002 1364 ៣កើត ខែពិសាខ06:00 ៥កើត ខែពិសាខ
2003 1365 ១៣កើត​ ខែចេត្រ12:00 ១៥កើត​ ខែចេត្រ
2004 1366 ៩រោច ខែចេត្រ17:36 ១១រោច ខែចេត្រ
2005 1367 ៦កើត​ ខែចេត្រ00:48 ៨កើត​ ខែចេត្រ
2006 1368 ១រោច ខែចេត្រ06:48 ៣រោច ខែចេត្រ
2007 1369 ១២រោច ខែចេត្រ12:48 ១៤រោច ខែចេត្រ
2008 1370៨កើត​ ខែចេត្រ18:24 ១០កើត​ ខែចេត្រ
2009 1371 ៥រោច ខែចេត្រ01:36 ៧រោច ខែចេត្រ
2010 1372 ១កើត ខែពិសាខ07:36៣កើត ខែពិសាខ
2011 1373 ១១កើត​ ខែចេត្រ13:36 ១៣កើត​ ខែចេត្រ
2012 1374 ៧រោច ខែចេត្រ19:12 ៩រោច ខែចេត្រ
2013 1375 ៤កើត​ ខែចេត្រ02:24 ៦កើត​ ខែចេត្រ
2014 1376 ១៥កើត​ ខែចេត្រ08:24 ២រោច ខែចេត្រ
2015 1377 ១១រោច ខែចេត្រ14:24 ១៣រោច ខែចេត្រ
2016 1378 ៨កើត​ ខែចេត្រ20:00 ១០កើត​ ខែចេត្រ
2017 1379 ៣រោច ខែចេត្រ03:12 ៥រោច ខែចេត្រ
2018 1380 ១៤រោច ខែចេត្រ09:12 ២កើត ខែពិសាខ
2019 1381 ១០កើត​ ខែចេត្រ15:12 ១២កើត​ ខែចេត្រ
2020 1382 ៧រោច ខែចេត្រ20:48 ៩រោច ខែចេត្រ

No comments:

Post a Comment

Media Player