Flutter 如何以AM或PM格式显示带有颤振的一天中的时间?

Flutter 如何以AM或PM格式显示带有颤振的一天中的时间?,flutter,dart,time,Flutter,Dart,Time,我使用ShowTimePicker类根据自己的意愿选择时间 但是想在下午或上午用文本显示它。比如上午9:00,晚上10:00 表示需要12小时的格式 代码: import 'package:flutter/material.dart'; class ShowTimePickerDemo extends StatefulWidget { @override _ShowTimePickerDemoState createState() => _ShowTimePickerDemo

我使用
ShowTimePicker
类根据自己的意愿选择时间 但是想在下午或上午用
文本
显示它。比如上午9:00,晚上10:00

表示需要12小时的格式

代码:

import 'package:flutter/material.dart';



class ShowTimePickerDemo extends StatefulWidget {
  @override
  _ShowTimePickerDemoState createState() => _ShowTimePickerDemoState();
}

class _ShowTimePickerDemoState extends State<ShowTimePickerDemo> {
  TimeOfDay pickedTime = TimeOfDay.now();

  Future<Null> _selectTime(BuildContext context) async {
    final TimeOfDay response = await showTimePicker(
      context: context,
      initialTime: pickedTime,
    );
    if (response != null && response != pickedTime) {
      setState(() {
        pickedTime = response;
      });
    }
  } 

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Container(
        alignment: Alignment.center,
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.center,
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(pickedTime.toString()),
            SizedBox(height:10),
            FlatButton(
              color: Colors.blue,
              onPressed: (){
                _selectTime(context);
              }, 
              child: Text("Show Time Pikcer")
            )
          ],
        ),
      ),
    );
  }
}
导入“包装:颤振/材料.省道”;
类ShowTimePickerDemo扩展StatefulWidget{
@凌驾
_ShowTimePickerDemoState createState()=>\u ShowTimePickerDemoState();
}
类\u ShowTimePickerDemoState扩展状态{
TimeOfDay pickedTime=TimeOfDay.now();
Future\u selectTime(构建上下文)异步{
最终时间响应=等待显示时间选择器(
上下文:上下文,
初始时间:pickedTime,
);
if(response!=null&&response!=pickedTime){
设置状态(){
pickedTime=响应;
});
}
} 
@凌驾
小部件构建(构建上下文){
返回脚手架(
主体:容器(
对齐:对齐.center,
子:列(
crossAxisAlignment:crossAxisAlignment.center,
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
文本(pickedTime.toString()),
尺寸箱(高度:10),
扁平按钮(
颜色:颜色,蓝色,
已按下:(){
_选择时间(上下文);
}, 
子项:文本(“显示时间Pikcer”)
)
],
),
),
);
}
}
输出屏幕截图:


一旦选择了时间,就可以使用
新的DateFormat.jm()
对其进行格式化,这将输出,例如,
5:00 PM
。更多信息,请参阅

编辑:你可以用几种方法来做

一种方法是使用函数,如下所示:

字符串格式TimeOfDay(TimeOfDay-tod){
final now=new DateTime.now();
final dt=日期时间(now.year,now.month,now.day,tod.hour,tod.minute);
final format=DateFormat.jm();/“上午6:00”
返回格式。格式(dt);
}
另一种方法是在以下提供的示例中使用:

print(new DateFormat.yMMMd().format(new DateTime.now());

当您确定了颤振的
TimeOfDay
类别后,现在可以将使用的变量转换为12小时制,将其当前格式更改为12小时制

TimeOfDay initialTime = TimeOfDay.now();

initialTime.format(context)

好的,那么我如何编写代码呢?我在
pickedTime
变量中选择的时间,是哪种类型的
TimeOfDay
。那么,我把新的DateFormat.jm()放在哪里呢。?