bangla_utilities 2.0.2 copy "bangla_utilities: ^2.0.2" to clipboard
bangla_utilities: ^2.0.2 copied to clipboard

A utility library for Bangla date-time and number conversion.

bangla_utilities #

pub.dev CI

A pure-Dart utility library for converting Gregorian dates to the Bangla calendar (বাংলা পঞ্জিকা), formatting them, and rendering numbers as Bangla (Bengali) numerals.

No Flutter dependency — works in any Dart environment (Flutter, server, CLI, web).


Features #

  • 📅 Bangla date — day, month (name + numeral), year, weekday, season
  • 🗓️ Date formatting — pattern-based formatting with Bangla numeral tokens
  • 🔢 Bangla numerals — convert any int or digit-containing String
  • 🌿 Leap-year detection (Gregorian)
  • ✅ Zero external runtime dependencies

Installation #

dependencies:
  bangla_utilities: ^2.0.2
dart pub get

Usage #

BanglaDate #

import 'package:bangla_utilities/bangla_utilities.dart';

// Today's date
final today = BanglaDate.today();
print(today.date);      // e.g. ১৯-১১-১৪৩১
print(today.monthName); // e.g. ফাল্গুন
print(today.weekday);   // e.g. বুধবার
print(today.season);    // e.g. বসন্ত
print(today.yearInt);   // e.g. 1431  (raw int)

// From a DateTime
final d = BanglaDate.fromDateTime(DateTime(2020, 5, 31));
print(d.date);      // ১৭-২-১৪২৭
print(d.monthName); // জ্যৈষ্ঠ
print(d.weekday);   // রবিবার

// From separate year / month / day components (all optional, default to today)
final d2 = BanglaDate.fromEnglishYearMonthDay(year: 2024, month: 4, day: 14);
print(d2.monthName); // বৈশাখ  (Pohela Boishakh)
print(d2.dayInt);    // 1

// From an ISO 8601 string
final d3 = BanglaDate.fromEnglishDate('2020-05-31');
print(d3.isLeapYear); // true

BanglaDate properties

Property Type Description Example
day String Bangla numeral day '১৭'
dayInt int Day as integer 17
month String Bangla numeral month (1-based) '২'
monthInt int Month as integer (বৈশাখ=1 … পৌষ=9 … চৈত্র=12) 2
monthName String Bangla month name 'জ্যৈষ্ঠ'
year String Bangla numeral year '১৪২৭'
yearInt int Year as integer 1427
weekday String Bangla weekday name 'রবিবার'
season String Bangla season name 'গ্রীষ্ম'
date String Formatted day-month-year '১৭-২-১৪২৭'
isLeapYear bool Whether Gregorian year is a leap year true

BanglaDateFormatter #

Format a BanglaDate using a pattern string with the following tokens:

Token Description Example
YYYY Full Bangla year ১৪৩০
YY Last 2 Bangla digits of year ৩০
MM Zero-padded 2-digit Bangla month ০৯
M Bangla month without leading zero
DD Zero-padded 2-digit Bangla day ০২
D Bangla day without leading zero
d Bangla weekday name সোমবার
S Bangla season name শীত
import 'package:bangla_utilities/bangla_utilities.dart';

final date = BanglaDate.fromEnglishDate('2024-01-01');

const f1 = BanglaDateFormatter('DD/MM/YYYY');
print(f1.format(date)); // ১৮/০৯/১৪৩০

const f2 = BanglaDateFormatter('DD-MM-YY');
print(f2.format(date)); // ১৮-০৯-৩০

const f3 = BanglaDateFormatter('D/M/YYYY');
print(f3.format(date)); // ১৮/৯/১৪৩০

const f4 = BanglaDateFormatter('d, S');
print(f4.format(date)); // সোমবার, শীত

BanglaNumber #

import 'package:bangla_utilities/bangla_utilities.dart';

// From an int
final n = BanglaNumber.fromEnglish(1234);
print(n.value);        // ১২৩৪
print(n.englishValue); // 1234

// From an arbitrary string — non-digit characters are preserved
final s = BanglaNumber.fromString('2024-01-15');
print(s.value); // ২০২৪-০১-১৫

final price = BanglaNumber.fromString('Price: 42.5 BDT');
print(price.value); // Price: ৪২.৫ BDT

Migration from v1.x #

The old BanglaUtility static class was removed in v2.0.0. Replace usages as follows:

Old (v1.x) New (v2.x)
BanglaUtility.getBanglaDate(...) BanglaDate.fromEnglishYearMonthDay(...).date
BanglaUtility.getBanglaDay(...) BanglaDate.fromEnglishYearMonthDay(...).day
BanglaUtility.getBanglaMonth(...) BanglaDate.fromEnglishYearMonthDay(...).month
BanglaUtility.getBanglaMonthName(...) BanglaDate.fromEnglishYearMonthDay(...).monthName
BanglaUtility.getBanglaYear(...) BanglaDate.fromEnglishYearMonthDay(...).year
BanglaUtility.getBanglaWeekday(...) BanglaDate.fromEnglishYearMonthDay(...).weekday
BanglaUtility.getBanglaSeason(...) BanglaDate.fromEnglishYearMonthDay(...).season
BanglaUtility.isLeapYear(year: y) BanglaDate.fromEnglishYearMonthDay(year: y).isLeapYear
BanglaUtility.englishToBanglaDigit(englishDigit: n) BanglaNumber.fromEnglish(n).value

License #

MIT — see LICENSE.

25
likes
160
points
159
downloads

Documentation

Documentation
API reference

Publisher

verified publishersmj.xyz

Weekly Downloads

A utility library for Bangla date-time and number conversion.

Homepage
Repository (GitHub)
View/report issues

Topics

#date-time #number-conversion #bangla #utilities

License

MIT (license)

More

Packages that depend on bangla_utilities