Khmer Hybrid Calendar v1.1.0 Released β Complete Holidays, UNESCO Heritage & 10x Faster π
Excited to announce the release of khmer-hybrid-calendar v1.1.0 on npm! π°πβ¨
If you're building applications that need Cambodian holidays, Khmer lunar dates, Buddhist observance days (ααααααΈα/ααααααα), or international & Chinese calendar integrations, this update brings major enhancements and performance improvements.
π¦ What's New in v1.1.0
1. πͺ· Expanded Buddhist & Khmer Lunar Observances
- Buddhist Lent Ceremonies: Added Candle Making Day (αα·ααΈαα·αααα), Dragon Monk Ordination (αααα½αααΆαααααΆα), and Lent Entry (α αΌααααααααααΆ).
- Dynamic Waning Observances: Accurate waning Kaor day (
ααααααα) and end-of-month Sil day (ααααααΈα ααΆα ααα) calculated for 29 vs 30-day lunar months. - Pchum Ben Closing Day: Added the final transition day (
αααααααααααα»ααα·ααα).
2. ποΈ Cambodian National & UNESCO Heritage Days
- UNESCO World & Intangible Heritage: Added anniversaries for Koh Ker, Kun Lbokator, Khmer Krama, Royal Ballet, Sbek Thom, Chapei Dang Veng, and Tuol Sleng Archives.
- Historical Observances: National Fish Day, Cambodia's UNESCO accession, and official commemoration days.
3. π 54 International & Chinese Calendar Observances
- Expanded to 54 official international days (UN & global observances).
- Added Chinese New Year's Eve (
αααααααα αΌαααααΆαα α·α) and festival calculations.
4. β‘ 10x Performance Boost
- Optimized astronomical ephemeris calculations and date-range filtering, cutting generation times by over 90%.
π Quick Start
npm install khmer-hybrid-calendar
import calendar from 'khmer-hybrid-calendar'; // Convert Gregorian to Khmer Lunar Date const khmerDate = calendar.gregorianToKhmer(2026, 4, 14); console.log(`${khmerDate.lunarDay} αα${khmerDate.monthName}`); // Output: 14ααΎα ααα αααα // Check if a date is a public holiday const isHoliday = calendar.isHoliday(new Date('2026-04-14')); console.log(isHoliday); // true (Khmer New Year Day 1) // Generate iCal (.ics) feed const ics = calendar.generateICalFeed(2026);
Check it out on npm or GitHub. Feedback and contributions are welcome! π