如何将时间转换为上午/下午?
我有这个输出
@SuppressWarnings("squid:S00101")
这是我尝试过的
I/flutter (17720): 9:00:00
I/flutter (17720): 11:00:00
I/flutter (17720): 12:00:00
DateUtil
final item = snapshot.data[index];
print("Time " + item['time'].toString());
DateTime dateTime = DateTime.parse(item['time'].toString());
print(DateUtil().formattedTime(dateTime));
错误
I / flutter(17720):时间09:00:00
════════小部件库捕获到异常 Format以下FormatException是 引发建筑标签(脏,状态:TagsState#b3a2f):无效日期 格式09:00:00
答案 0 :(得分:10)
使用此代码:
DateFormat('hh:mm a').format(DateTime.now());
根据 intl 库,它指出 a 代表 AM/PM。
答案 1 :(得分:7)
您可以使用 intl 库https://pub.dev/packages/intl 并格式化您的DateTime DateFormat.yMEd()。add_jms()。format(DateTime.now()); ==>'星期四,2013年5月23日上午10:21:47'
答案 2 :(得分:0)
DateFormat 用于以区域设置敏感的方式格式化和解析日期。
转换时间
print(DateFormat.jm().format(DateFormat("hh:mm:ss").parse("14:15:00")));
<块引用>
输出:凌晨 3:20
转换日期
print(DateFormat('yyyy-MMMM-dd').format("2021-05-14 00:00:00.000"));
<块引用>
产出: 2021 年 5 月 14 日
时间选择器
Future<Null> _selectTime(BuildContext context) async {
final TimeOfDay picked = await showTimePicker(
context: context,
initialTime: _con.selectedTime,
);
if (picked != null) {
String selTime =
picked.hour.toString() + ':' + picked.minute.toString() + ':00';
print(DateFormat.jm().format(DateFormat("hh:mm:ss").parse(selTime)));
}}
日期选择器
_selectDate(BuildContext context) async {
final DateTime picked = await showDatePicker(
context: context,
initialDate: _con.selectDateAndTime,
firstDate: DateTime(2021),
lastDate: DateTime(2040),
);
if (picked != null) {
print(picked);
}}