从 showTimePicker Flutter 中提取的值
The value extracted from showTimePicker Flutter
我创建了一个 showTimePicker 并在 24 小时内更改了格式,但是当我在“.then”未来提取值时,我得到了 12 小时格式的时间。有人可以告诉我问题出在哪里吗?这是代码:
void _presentTimePicker() {
showTimePicker(
context: context,
initialTime: TimeOfDay(
hour: TimeOfDay.now().hour,
minute: (TimeOfDay.now().minute - TimeOfDay.now().minute % 10 + 10)
.toInt()),
builder: (BuildContext context, Widget child) {
return MediaQuery(
data:
MediaQuery.of(context).copyWith(alwaysUse24HourFormat: true),
child: child);
}).then((value) {
if (value == null) return;
setState(() {
time.text = TimeOfDay(
hour: value.hour,
minute: value.minute,
).format(context);
print(time.text);
});
});
}
当我在选择器中选择 17:50
时,输出是:5:50 PM
这个问题是您如何将一天中的时间改回字符串。尝试改用它,以便您可以覆盖默认值。
localizations.formatTimeOfDay(TimeOfDay(
hour: value.hour,
minute: value.minute,
), alwaysUse24HourFormat: true);
(默认派生自 MediaQuery
- 请参阅 here 了解更多详细信息。)
我创建了一个 showTimePicker 并在 24 小时内更改了格式,但是当我在“.then”未来提取值时,我得到了 12 小时格式的时间。有人可以告诉我问题出在哪里吗?这是代码:
void _presentTimePicker() {
showTimePicker(
context: context,
initialTime: TimeOfDay(
hour: TimeOfDay.now().hour,
minute: (TimeOfDay.now().minute - TimeOfDay.now().minute % 10 + 10)
.toInt()),
builder: (BuildContext context, Widget child) {
return MediaQuery(
data:
MediaQuery.of(context).copyWith(alwaysUse24HourFormat: true),
child: child);
}).then((value) {
if (value == null) return;
setState(() {
time.text = TimeOfDay(
hour: value.hour,
minute: value.minute,
).format(context);
print(time.text);
});
});
}
当我在选择器中选择 17:50
时,输出是:5:50 PM这个问题是您如何将一天中的时间改回字符串。尝试改用它,以便您可以覆盖默认值。
localizations.formatTimeOfDay(TimeOfDay(
hour: value.hour,
minute: value.minute,
), alwaysUse24HourFormat: true);
(默认派生自 MediaQuery
- 请参阅 here 了解更多详细信息。)