UNPKG

bengali-calendar

Version:

বাংলা তারিখ, সময়, মাস ও সপ্তাহের দিনের নাম সহ Bangla Calendar and Time Utility with TypeScript support.

255 lines (176 loc) 6.81 kB
# Bangla Calendar <!-- ![Image Description](https://i.ibb.co/Y7hZzNYf/images-1.jpg) --> A TypeScript-supported NPM package for displaying dates and times in Bangla (Bengali) format. ## Installation You can install the package using npm: ```bash npm i bengali-calendar ``` ## Usage ### Importing the package To use the `bangla-calendar` package, import it into your project: ```typescript import { toBanglaDigits, toEnglishDigits, formatBanglaDate, formatBanglaTime, formatBanglaTime12, getCurrentBanglaDateTime, getBanglaWeekNumber, getBanglaMonthFromEnglish, getDayName, getEnglishMonthName, getBanglaMonthName, formatBanglaDateWithBanglaMonth, formatFullBanglaDateTime, } from "bangla-calendar"; ``` ### Getting Bangla Date - Pass a JavaScript Date object to `formatBanglaDate` to get the date in Bangla format: ```typescript const banglaDate = formatBanglaDate(new Date()); // Output example: রবিবার, ১২ মার্চ ২০২৫ ``` ### Getting Bangla Time - Use `formatBanglaTime` to format the time part of a Date object in Bangla digits: ```typescript const banglaTime = formatBanglaTime(new Date()); // Output example: ১৪:৩০:১৫ // Without seconds: const banglaTimeShort = formatBanglaTime(new Date(), false); // Output example: ১৪:৩০ ``` ### Convert English digits to Bangla digits - Convert any string or number containing English digits to Bangla digits using `toBanglaDigits` ```typescript const banglaNumber = toBanglaDigits("1234567890"); // Output: ১২৩৪৫৬৭৮৯০ ``` ### Get current Bangla date and time together - Use `getCurrentBanglaDateTime` to get both formatted date and time in Bangla as an object: ```typescript const { banglaDate, banglaTime } = getCurrentBanglaDateTime(); console.log(banglaDate); // রবিবার, ১২ মার্চ ২০২৫ console.log(banglaTime); // ১৪:৩০:১৫ ``` ### Convert Bangla digits to English digits ```typescript import { toEnglishDigits } from "bangla-calendar"; const engNumber = toEnglishDigits("১২৩৪৫৬৭৮৯০"); // Output: "1234567890" ``` ### Get current Bangla date and time together ```typescript import { formatBanglaTime12 } from "bangla-calendar"; const time12 = formatBanglaTime12(new Date()); // Output example: ২:৩০:১৫ অপরাহ্ন const time12NoSeconds = formatBanglaTime12(new Date(), false); // Output example: ২:৩০ অপরাহ্ন ``` ### Get Bangla week number of the year ```typescript import { getBanglaWeekNumber } from "bangla-calendar"; const weekNum = getBanglaWeekNumber(new Date()); console.log(weekNum); // Output example: ১৫ ``` - Use `getCurrentBanglaDateTime` to get both formatted date and time in Bangla as an object: ```typescript const { banglaDate, banglaTime } = getCurrentBanglaDateTime(); console.log(banglaDate); // রবিবার, ১২ মার্চ ২০২৫ console.log(banglaTime); // ১৪:৩০:১৫ ``` ### Get Bangla Month from English Date - Convert a Gregorian date's English month to approximate Bangla calendar month name. ```typescript import { getBanglaMonthFromEnglish } from "bangla-calendar"; const banglaMonth = getBanglaMonthFromEnglish(new Date()); // Output example: 'চৈত্র' (depending on current month) ``` ### Get Day Name (Bangla) - Get the Bangla name of the weekday for a given date ```typescript import { getDayName } from "bangla-calendar"; const dayName = getDayName(new Date()); // Output example: 'রবিবার' ``` ### Get English Month Name (Bangla Digits) - Get the English (Gregorian) month name in Bangla script. ```typescript import { getEnglishMonthName } from "bangla-calendar"; const engMonthName = getEnglishMonthName(new Date()); // Output example: 'মার্চ' ``` ### Get Bangla Month Name (Bengali Calendar) - Get the Bangla calendar month name from a given Date. ```typescript import { getBanglaMonthName } from "bangla-calendar"; const banglaCalMonth = getBanglaMonthName(new Date()); // Output example: 'ফাল্গুন' ``` ### Format Bangla Date with Bangla Month - Returns Bangla date string showing only day (in Bangla digits) and Bengali calendar month. ```typescript import { formatBanglaDateWithBanglaMonth } from "bangla-calendar"; const formattedDate = formatBanglaDateWithBanglaMonth(new Date()); // Output example: '১২ ফাল্গুন' ``` ### Format Full Bangla DateTime - Returns a full date-time string including day name, Bangla date, Bengali calendar month, year and time. ```typescript import { formatFullBanglaDateTime } from "bangla-calendar"; const fullDateTime = formatFullBanglaDateTime(new Date()); // Output example: 'রবিবার, ১২ ফাল্গুন ২০২৫, সময়: ১৪:৩০:১৫' ``` ### Get Bangla English Full Date Time Info - Returns separate detailed objects for both Bangla and English date-time info including day, month, year, weekday, and time (12h & 24h). ```typescript import { getBanglEnglishFullDateTimeInfo } from "bangla-calendar"; const dateInfo = getBanglEnglishFullDateTimeInfo(new Date()); console.log(dateInfo.bangla); // Example output: // { // day: '২২', // month: 'শ্রাবণ', // year: '১৪৩২', // weekday: 'বুধবার', // time24: '১৪:৩০:১৫', // time12: '২:৩০:১৫ অপরাহ্ন' // } console.log(dateInfo.english); // Example output: // { // day: 6, // month: 'August', // year: 2025, // weekday: 'Wednesday', // time24: '14:30:15', // time12: '2:30:15 PM' // } ``` ### Format Full Bangla English DateTime - Returns a single formatted string combining Bangla and English date-time info side by side. ```typescript import { formatFullDateTimeDual } from "bangla-calendar"; const formattedDateTime = formatFullDateTimeDual(new Date()); // Example output: // 'বুধবার, ২২ শ্রাবণ ১৪৩২ (১৪:৩০ অপরাহ্ন) | Wednesday, 6 August 2025 (4:30 PM)' console.log(formattedDateTime); ``` ## Features - Converts Gregorian calendar dates to Bangla calendar format. - Supports Bangla month names, day names, and numbers. - Displays time in Bangla format with AM/PM. - TypeScript support with type definitions. - ES Module support for modern JavaScript applications. ## Development To build the package, run: ```bash npm run build ``` To run tests: ```bash npm test ``` ## License This project is licensed under the MIT License.