从 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 了解更多详细信息。)