UNPKG

bangladatejs

Version:

to convert js date object into bangla date format

54 lines (53 loc) 1.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.formatBanglaDate = exports.DateFormatType = void 0; // Define Bangla month names const banglaMonths = [ "জানুয়ারি", "ফেব্রুয়ারি", "মার্চ", "এপ্রিল", "মে", "জুন", "জুলাই", "আগস্ট", "সেপ্টেম্বর", "অক্টোবর", "নভেম্বর", "ডিসেম্বর" // December ]; // Function to convert English digits to Bangla digits const toBanglaDigits = (num) => { const banglaDigits = ["০", "১", "২", "৩", "৪", "৫", "৬", "৭", "৮", "৯"]; return num .toString() .split("") .map((digit) => banglaDigits[parseInt(digit)] || digit) .join(""); }; // Enum for format types var DateFormatType; (function (DateFormatType) { DateFormatType["Long"] = "long"; DateFormatType["Slash"] = "slash"; DateFormatType["Dash"] = "dash"; })(DateFormatType = exports.DateFormatType || (exports.DateFormatType = {})); // Main function to format date function formatBanglaDate(date, formatType) { const day = toBanglaDigits(date.getDate()); const monthIndex = date.getMonth(); const year = toBanglaDigits(date.getFullYear()); const paddedDay = date.getDate() < 10 ? `০${day}` : day; const paddedMonth = monthIndex + 1 < 10 ? `০${toBanglaDigits(monthIndex + 1)}` : toBanglaDigits(monthIndex + 1); switch (formatType) { case DateFormatType.Long: return `${day} ${banglaMonths[monthIndex]}, ${year}`; case DateFormatType.Slash: return `${paddedDay}/${paddedMonth}/${year}`; case DateFormatType.Dash: return `${paddedDay}-${paddedMonth}-${year}`; default: throw new Error("Invalid format type"); } } exports.formatBanglaDate = formatBanglaDate;