如何将 TimePicker 格式化为 24 小时制。 “00:00”颤振

How to format a TimePicker to 24 hours. "00:00" Flutter

我想将格式应用到 TimePicker 给我的时间,因为它给了我 13:30,但是当我想打印它时,我得到 1:30 PM,然后我希望它只给我 13:30

我附上_pickTime的代码:

//Función que muestra el Time Picker.
  _pickTime() async {
    TimeOfDay? timeRecord = await showTimePicker(
      context: context,
      initialTime: time.replacing(hour: time.hourOfPeriod),
      
    );
    if (timeRecord != null) {
      setState(() {
        finaltime = time.format(context);
      });
    }
  }

您可以使用 intl 包。

并在打印前使用它

DateFormat.jm().format(paste your yourdatetime here)

intl 试试这个。

    final dateNow = DateTime.now();
    final date = DateTime(dateNow.year, dateNow.month, dateNow.day, finalTime.hour,   
                   finalTime.minute);
    final timeStringFormatted = DateFormat(DateFormat.HOUR24_MINUTE)
                            .format(date);

使用intl

         var df = DateFormat("h:mm a");
         var dt = df.parse(timeRecord!.format(context));
         print(DateFormat('HH:mm').format(dt));

所以你的函数看起来像

  _pickTime() async {
TimeOfDay? timeRecord = await showTimePicker(
  context: context,
  initialTime: time.replacing(hour: time.hourOfPeriod),
  
);
  if (timeRecord != null) {
  setState(() {
       var df = DateFormat("h:mm a");
       var dt = df.parse(timeRecord!.format(context));
       var finaltime =  DateFormat('HH:mm').format(dt); 
      //print(finaltime)  
      // this will return 13:30 only
  });
}

}