Iranian Date & Time picker
Iranian (Persian - Farsi - Shamsi - Jalali) DateTime picker with cupertino style and responsive UI.
Demo:
Usage
Step1: add dependency to your pubspec.yaml:
dependencies:
ir_datetime_picker: version
Step2: import library:
import 'package:ir_datetime_picker/ir_datetime_picker.dart';
Step3: check exmaple to use:
/// Pick date with IRDatePickerResponsiveDialog:
ElevatedButton(
child: const Text("pick date with dialog"),
onPressed: () async {
Jalali? selectedDate = await showIRDatePickerDialog(context, enableTodayButton: true);
if (selectedDate != null) {
setState(() {
_date = "${selectedDate.year}/${selectedDate.month}/${selectedDate.day}";
});
}
},
)
/// Pick date with IRDatePickerResponsiveRoute:
ElevatedButton(
child: const Text("pick date with route"),
onPressed: () async {
Jalali? selectedDate = await showIRDatePickerRoute(context, enableTodayButton: true);
if (selectedDate != null) {
setState(() {
_date = "${selectedDate.year}/${selectedDate.month}/${selectedDate.day}";
});
}
},
)
/// You can create your own date picker with IRDatePicker widget:
const Text("use as custom:", style: TextStyle(fontSize: 18.0)),
Directionality(
textDirection: TextDirection.rtl,
child: IRDatePicker(
startYear: 1380,
endYear: 1420,
initialDate: Jalali(1400, 6, 12),
enableTodayButton: true,
todayButtonText: "برو به امروز",
onSelected: (Jalali selectedDate) {
setState(() {
_date = "${selectedDate.year}/${selectedDate.month}/${selectedDate.day}";
});
},
),
)
/// Pick time with IRTimePickerResponsiveDialog:
ElevatedButton(
child: const Text("Pick Time"),
onPressed: () async {
IRTimeModel? time = await showIRTimePickerDialog(context);
if (time != null) {
setState(() {
_time = time.toString();
});
}
},
)
ContactMe
Libraries
- ir_datetime_picker
- Export main libraries for development. You just need to import this library and use all the features of this package.