Introducing awesome_datetime_picker: a customizable wheel-style picker for date, time, and datetime in Flutter.

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.

:wrench: Key Features:

  • :cyclone: Wheel-style Date, Time, and DateTime picker types
  • :artist_palette: Highly customizable:
    • Background and border color
    • Divider color and size
    • Item height, text styles, and selected item style
  • :date: Support for multiple formats:
    • 12h / 24h time
    • Various date layouts (dd/MM/yyyy, yyyy-MM-dd, etc.)
  • :mobile_phone: Works across platforms (Android, iOS, etc.)
  • :repeat_button: Easy integration with just a few lines of code
  • :test_tube: Null safety and well-typed parameters

:puzzle_piece: Basic Usage:

:tear_off_calendar: 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}");
  },
)

:alarm_clock: 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}");
  },
)

:date::alarm_clock: 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.

:package: 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.