bangla_utilities
A pure-Dart utility library for converting Gregorian dates to the Bangla calendar (বাংলা পঞ্জিকা) 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
- 🔢 Bangla numerals — convert any
intor digit-containingString - 🗓️ Leap-year detection (Gregorian)
- ✅ Zero external runtime dependencies
Installation
dependencies:
bangla_utilities: ^2.0.0
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 | Example |
|---|---|---|
day |
String |
'১৭' |
dayInt |
int |
17 |
month |
String |
'৫' |
monthInt |
int |
5 |
monthName |
String |
'জ্যৈষ্ঠ' |
year |
String |
'১৪২৭' |
yearInt |
int |
1427 |
weekday |
String |
'রবিবার' |
season |
String |
'গ্রীষ্ম' |
date |
String |
'১৭-৫-১৪২৭' |
isLeapYear |
bool |
true |
BanglaNumber
// 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 has been removed. Replace usages as follows:
| Old (v1.x) | New (v2.0.0) |
|---|---|
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.
Libraries
- bangla_date
- bangla_date_formatter
- bangla_number
- bangla_utilities
- Bangla utilities — a pure-Dart library for Bangla calendar conversion and Bangla numeral formatting.