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 AD | Year in JS | Songkran Date | Songkran Time | Loeung 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 | ៩រោច ខែចេត្រ |