DateRange(selecting start and end date)
1.add below package for date fromats
dependencies: intl: ^0.17.0
url: https://pub.dev/packages/intl
Example Code:
import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; class DateRanges extends StatefulWidget { const DateRanges({Key key}) : super(key: key); @override State<DateRanges> createState() => _DateRangesState(); } class _DateRangesState extends State<DateRanges> { DateTimeRange dateTimeRange = DateTimeRange(start: DateTime.now(), end: DateTime.now().add(Duration(days: 1))); @override Widget build(BuildContext context) { final start = dateTimeRange.start; final end = dateTimeRange.end; final difference = dateTimeRange.duration; return SafeArea( child: Scaffold( body: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ ElevatedButton(onPressed:() => pickDateRange(), child: Text(DateFormat('yyyy/MM/dd').format(start))), ElevatedButton( onPressed: () => pickDateRange(), child: Text(DateFormat('yyyy/MM/dd').format(end))), ], ), SizedBox(height: 50.0,), Text("${difference.inDays} days difference", style: TextStyle(color: Colors.black),) ], ), ) , ); } Future pickDateRange() async { DateTimeRange newDateRange = await showDateRangePicker( context: context, initialDateRange: dateTimeRange, firstDate: DateTime(1900), lastDate: DateTime(2100) ); if(newDateRange == null) return; setState(() { dateTimeRange = newDateRange; }); } }