Метод fromDateTime
Метод fromDateTime класса TimeOfDay Фабрика TimeOfDay.fromDateTime создаёт
с полями hour и minute
из переданного DateTime.
Удобно после
showDatePicker
или при чтении метки времени из базы.
Синтаксис
final TimeOfDay time = TimeOfDay.fromDateTime(DateTime.now());
Параметры
| Параметр | Описание |
|---|---|
dateTime |
Источник часа и минуты. Секунды игнорируются. |
Пример
Давайте покажем время из фиксированного DateTime:
import 'package:flutter/material.dart';
void main()
{
runApp(const MaterialApp(home: FromDtDemo()));
}
class FromDtDemo extends StatelessWidget
{
const FromDtDemo({super.key});
@override
Widget build(BuildContext context)
{
final dt = DateTime(2024, 1, 1, 14, 30);
final time = TimeOfDay.fromDateTime(dt);
return Scaffold(
body: Center(
child: Text('${time.hour}:${time.minute}'),
),
);
}
}
На экране отобразятся час 14 и минута 30.
Пример
Давайте передайте fromDateTime в showTimePicker initialTime:
import 'package:flutter/material.dart';
void main()
{
runApp(const MaterialApp(home: FromDtPickerDemo()));
}
class FromDtPickerDemo extends StatelessWidget
{
const FromDtPickerDemo({super.key});
@override
Widget build(BuildContext context)
{
return Scaffold(
body: Center(
child: ElevatedButton(
onPressed: () async {
final now = DateTime.now();
final initial = TimeOfDay.fromDateTime(now);
await showTimePicker(
context: context,
initialTime: initial,
);
},
child: Text('abcde'),
),
),
);
}
}
Диалог времени откроется с текущим часом и минутой.
Смотрите также
-
класс
TimeOfDay,
час и минута без даты -
метод
now,
время из часов устройства -
функция
showTimePicker,
диалог выбора времени -
класс
DateTimeRange,
интервал дат