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()放在哪里呢。?