แ€šแ€”แ€ฑแ€ท
-
-
แ€™แ€ผแ€”แ€บแ€™แ€ฌ
Features Demo Installation API
v2.2.0 - Zero Dependencies

Myanmar Calendar
for TypeScript

Convert Gregorian dates to Myanmar calendar with Thingyan, Watat years, and Buddhist Era. Zero dependencies. Full TypeScript support. Production-ready.

View on GitHub

Everything You Need

A complete Myanmar calendar solution built with modern TypeScript and zero dependencies

Zero Dependencies

No external packages. Smaller bundle size. Faster installs. Less security risk. Just pure TypeScript.

Full TypeScript

Complete type safety with exported types. Better IDE support. Catch errors at compile time.

Thingyan Data

Complete Thingyan (Water Festival) information including Akyo, Akya, Akyat, Atat, and New Year dates.

Watat Years

Calculate intercalary months and days. Detect leap years and extra days in the Myanmar calendar.

Browser & Node

Works everywhere. Separate builds for Node.js and browsers. Use it in any JavaScript environment.

Buddhist Era

Get Buddhist Era year alongside Myanmar year. Support for traditional calendar systems.

Localized Output

All data available in English and Myanmar script. Month names, weekdays, moon phases in both languages.

Tiny & Fast

Built with Bun for maximum performance. Smallest possible bundle size. Lightning fast calculations.

Astrology Features

Maharbote birth signs, Chinese zodiac, Western zodiac, and numerology calculations included.

Backward Compatible

100% API compatible with v1.x. Drop-in replacement. Upgrade without breaking your code.

Try It Now

Convert any Gregorian date to Myanmar calendar in real-time

Select a date and click Convert to see the Myanmar calendar date

Get Started

Install MyCal with your favorite package manager

npm install mycal
bun add mycal
yarn add mycal
<script type="module">
  import { Mycal } from 'https://unpkg.com/mycal@latest/dist/browser/index.js';

  const date = new Mycal('2000-01-01');
  console.log(date.year); // { en: '1361', my: 'แแƒแ†แ' }
</script>

Quick Start

import { Mycal } from 'mycal';

// Myanmar Independence Day
const myanmarDate = new Mycal('1/4/1948');

console.log(myanmarDate.year);        // { en: '1309', my: 'แแƒแ€แ‰' }
console.log(myanmarDate.month);       // { en: 'Pyatho', my: 'แ€•แ€ผแ€ฌแ€žแ€ญแ€ฏ' }
console.log(myanmarDate.weekday);     // { en: 'Sunday', my: 'แ€แ€”แ€„แ€บแ€นแ€‚แ€”แ€ฝแ€ฑ' }
console.log(myanmarDate.buddhistEraYear); // { en: '2491', my: 'แ‚แ„แ‰แ' }

Available Properties

All properties are read-only and computed lazily for optimal performance

year
Myanmar year in English and Myanmar numerals
LocalizedString
month
Myanmar month name in both languages
LocalizedString
day
Fortnight day and moon phase (Waxing/Waning/Full/New)
MyanmarDayResult
weekday
Day of the week in Myanmar calendar
LocalizedString
buddhistEraYear
Buddhist Era year (BE = Myanmar Year + 1184)
LocalizedString
thingyan
Thingyan festival dates and exact times
ThingyanResult
watatYear
Intercalary month and day information
WatatYearResult
waso
Full moon day of Waso month
string
firstDayOfTagu
First day of Tagu (Myanmar New Year)
string
maharbote
Maharbote birth sign based on year and weekday
string
numerology
Numerology number (digital root of day)
number
chineseZodiac
Chinese zodiac sign for the current year
ChineseZodiacResult
Mycal.zodiac(day, month)
Western zodiac sign (static method)
ZodiacResult
numFormat(num)
Format number to Burmese words
string

Exported Types

Full type safety with comprehensive TypeScript definitions

import type {
  LocalizedString,    // { en: string, my: string }
  ThingyanResult,     // Thingyan festival information
  WatatYearResult,    // Watat year information
  MyanmarDayResult,   // Day and moon phase
  MoonPhase,          // 'waxing' | 'full' | 'waning' | 'new'
  MonthType,          // 'hma' | 'hgu'
  MyanmarMonth,       // 0 | 1 | 2 | ... | 12
  ChineseZodiacResult,// { sign: string, signInBurmese: string }
  ZodiacResult,       // { sign: string, sign_mm: string }
} from 'mycal';
Command copied to clipboard!