ad_bs_calendar_flutter 0.0.1
ad_bs_calendar_flutter: ^0.0.1 copied to clipboard
A comprehensive Bikram Sambat (BS) and Gregorian (AD) date picker and converter for Flutter.
AD BS Calendar Flutter (ad_bs_calendar) #
A comprehensive Bikram Sambat (BS) and Gregorian (AD) DatePicker and Converter package for Flutter.
Supports dual AD and BS calendars, localized English and Nepali numerals/formatting, popover/modal date picking, and date conversion.
Features #
- Dual Calendar Support: Switch seamlessly between Gregorian (AD) and Bikram Sambat (BS) calendars.
- Localization: Full English (
en-US) and Nepali (ne-NP) language and numeral support (0-9$\leftrightarrow$०-९). - DatePicker Widget: Responsive modal date picker input component (
AdBsDatePicker). - Date Converter Widget: Standalone date conversion widget with customizable output format options (
AdBsDateConverter). - Type-Safe: Written in 100% sound null-safe Dart.
Installation #
Add dependency in your Flutter project's pubspec.yaml:
dependencies:
ad_bs_calendar:
path: ../calendar/ad_bs_calendar # Or git repository / pub package
Then run:
flutter pub get
Usage #
1. Initialize Dataset #
Before using date conversion functions, initialize the dataset once in main():
import 'package:flutter/material.dart';
import 'package:ad_bs_calendar/ad_bs_calendar.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await AdBsConverter.init();
runApp(const MyApp());
}
2. DatePicker Widget (AdBsDatePicker) #
AdBsDatePicker(
value: '2025-04-14',
calendarType: CalendarType.bs,
language: CalendarLanguage.en,
onDateSelect: (date) {
print("Selected AD Date: $date");
},
)
3. Date Converter Widget (AdBsDateConverter) #
AdBsDateConverter(
initialLanguage: CalendarLanguage.en,
defaultFormat: 'YYYY-MM-DD',
onDateChange: (convertedDate, targetType) {
print("Converted date: $convertedDate (${targetType.name})");
},
)
4. Date Conversion Functions (AdBsConverter) #
// AD -> BS
String bsDate = AdBsConverter.convertDate('2025-04-14', CalendarType.bs); // "2082-01-01"
// BS -> AD
String adDate = AdBsConverter.convertDate('2082-01-01', CalendarType.ad); // "2025-04-14"
// Format with Nepali numerals & month names
String formatted = AdBsConverter.convertDate(
'2025-04-14',
CalendarType.bs,
format: 'DD MMMM, YYYY',
lang: CalendarLanguage.ne,
); // "०१ बैशाख, २०८२"
License #
MIT © Pradip Parajuli