Класс DateTimeRange
Класс DateTimeRange передают в
showDateRangePicker
как initialDateRange
и получают из Future после выбора.
Начало - start,
конец - end,
длительность - через duration.
Синтаксис
DateTimeRange(
start: DateTime(2024, 1, 1),
end: DateTime(2024, 1, 7),
)
Параметры
| Параметр | Описание |
|---|---|
start |
Первый день диапазона. |
end |
Последний день диапазона. |
Пример
Давайте покажем диапазон на экране:
import 'package:flutter/material.dart';
void main()
{
final range = DateTimeRange(
start: DateTime(2024, 3, 1),
end: DateTime(2024, 3, 5),
);
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Text('${range.start.day}-${range.end.day}'),
),
),
),
);
}
На экране строка с числами дней начала и конца.
Пример
Давайте откроем picker с initialDateRange:
import 'package:flutter/material.dart';
void main()
{
runApp(const MaterialApp(home: RangePage()));
}
class RangePage extends StatelessWidget
{
const RangePage({super.key});
@override
Widget build(BuildContext context)
{
return Scaffold(
body: Center(
child: ElevatedButton(
onPressed: () {
showDateRangePicker(
context: context,
firstDate: DateTime(2024),
lastDate: DateTime(2025),
initialDateRange: DateTimeRange(
start: DateTime(2024, 6, 1),
end: DateTime(2024, 6, 3),
),
);
},
child: Text('abcde'),
),
),
);
}
}
Календарь откроется с уже выделенным диапазоном.
Смотрите также
-
функция
showDateRangePicker,
которая возвращаетDateTimeRange -
функция
showDatePicker,
выбор одной даты -
виджет
CalendarDatePicker,
календарь на странице -
класс
TimeOfDay,
время без даты