getBanglaDateMonthYearSeason static method
Returns map of Bangla weekday, day, month, month name, year, season for a given English date
BanglaUtility.getBanglaDateMonthYearSeason(day:31, month:05, year: 2020) == {
"weekday": 'রবিবার',
"day": '১৭',
"month": '৫',
"monthName": 'জ্যৈষ্ঠ',
"year": '১৪২৭',
"season": 'গ্রীষ্ম'
}
Implementation
static Map<String, String> getBanglaDateMonthYearSeason(
{int? day, int? month, int? year}) {
int banglaDay;
int banglaMonth;
String banglaMonthName;
String banglaYear;
if (day == null && month == null && year == null) {
DateTime now = DateTime.now();
year = now.year;
month = now.month;
day = now.day;
}
String banglaWeekday = getBanglaWeekday(day: day, month: month, year: year);
month = month! - 1;
banglaYear = getBanglaYear(day: day, month: month, year: year);
if (day! <= kGregEquivalentLastDayOfBanglaMonths[month]) {
int totalDaysInCurrentBanglaMonth = kTotalDaysInBanglaMonths[month];
if (month == kGregEquivalentLeapYearIndexInBanglaMonths &&
isLeapYear(year: year)) {
totalDaysInCurrentBanglaMonth += 1;
}
banglaDay = totalDaysInCurrentBanglaMonth +
day -
kGregEquivalentLastDayOfBanglaMonths[month];
banglaMonth = month;
banglaMonthName = kGregEquivalentBanglaMonths[banglaMonth];
} else {
banglaDay = day - kGregEquivalentLastDayOfBanglaMonths[month];
banglaMonth = (month + 1) % 12;
banglaMonthName = kGregEquivalentBanglaMonths[banglaMonth];
}
String banglaSeason = kGregEquivalentBanglaSeasons[banglaMonth ~/ 2];
var banglaDateMonthYearSeason = {
"weekday": banglaWeekday,
"day": englishToBanglaDigit(englishDigit: banglaDay),
"month": englishToBanglaDigit(englishDigit: banglaMonth),
"monthName": banglaMonthName,
"year": banglaYear,
"season": banglaSeason
};
return banglaDateMonthYearSeason;
}