Hello everyone,
I’ve published a new Flutter package: awesome_datetime_picker
— a customizable and platform-friendly wheel-style picker for selecting date, time, or both.
This package was born out of frustration with limited customization in existing solutions (e.g., CupertinoDatePicker), especially when you just want a modern, flexible picker with minimal boilerplate.
Key Features:
Wheel-style Date, Time, and DateTime picker types
Highly customizable:
- Background and border color
- Divider color and size
- Item height, text styles, and selected item style
Support for multiple formats:
- 12h / 24h time
- Various date layouts (
dd/MM/yyyy
,yyyy-MM-dd
, etc.)
Works across platforms (Android, iOS, etc.)
Easy integration with just a few lines of code
Null safety and well-typed parameters
Basic Usage:
AwesomeDatePicker Example
AwesomeDatePicker(
dateFormat: AwesomeDateFormat.dMMy,
minDate: AwesomeDate(year: 2025, month: 2, day: 15),
maxDate: AwesomeDate(year: 2026, month: 10, day: 10),
onChanged: (AwesomeDate date) {
print("Date changed: ${date.day}/${date.month}/${date.year}");
},
)
AwesomeTimePicker Example
AwesomeTimePicker(
timeFormat: AwesomeTimeFormat.hm,
minTime: AwesomeTime(hour: 5, minute: 20),
maxTime: AwesomeTime(hour: 9, minute: 15),
onChanged: (AwesomeTime time) {
print("Time changed: ${time.hour}:${time.minute}");
},
)

AwesomeDateTimePicker Example
AwesomeDateTimePicker(
dateFormat: AwesomeDateFormat.dMMy,
timeFormat: AwesomeTimeFormat.hm,
onChanged: (AwesomeDateTime dateTime) {
print(
"DateTime changed: ${dateTime.date.year}/${dateTime.date.month}/${dateTime.date.day} "
"${dateTime.time.hour}:${dateTime.time.minute}",
);
},
)
If you’re building Flutter apps that require flexible and modern date/time inputs, give this package a try.
awesome_datetime_picker on pub.dev
I’d love to hear your feedback, issues, or feature requests — feel free to reply here or open an issue on GitHub.