尝试将 String 转换为 DateTime 但抛出异常
Trying to convert a String to DateTime but it throws exception
我想以 17 May 2022
格式显示日期,但在使用 DateFormat 时抛出以下异常。
Trying to read MMMM from 2022-05-16 21:39:39.333741 at position 0
return GroupedListView<dynamic, DateTime>(
elements: messageList,
groupBy: (element) => DateFormat.yMMMMd().parse(element['time']),
groupSeparatorBuilder: (DateTime groupByvalue) {
return Container(child: Text(DateFormat.yMMMMd().format(groupByvalue)));
},
itemBuilder: (context, element) {
return Container(
child: Text(element['message']),
);
},
);
{
'time': '2022-05-16 21:39:39.333741',
'message': "hello",
'messagetype': Messagetype.receiver
},
以上是我使用的示例'time'。
你的日期格式有误,
尝试将您的日期转换为新格式
示例:
dateFormate = DateFormat("yyyy-MM-dd' 'HH:mm:ss.SSSSSS'Z").format(DateTime.parse("2022-05-16 21:39:39.333741"));
return GroupedListView<dynamic, DateTime>(
elements: messageList,
groupBy: (element) => DateFormat.yMMMMd().parse(DateTime.parse(element['time'])),
groupSeparatorBuilder: (DateTime groupByvalue) {
return Container(child: Text(DateFormat.yMMMMd().format(groupByvalue)));
},
itemBuilder: (context, element) {
return Container(
child: Text(element['message']),
);
},
);**
你需要先解析,然后格式化类型17 May 2022
像这样:
final dateTime = DateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS'Z").parse('2022-05-16 21:39:39.333741');
final dateTimeString = DateFormat.yMMMMd().format(dateTime);
我想以 17 May 2022
格式显示日期,但在使用 DateFormat 时抛出以下异常。
Trying to read MMMM from 2022-05-16 21:39:39.333741 at position 0
return GroupedListView<dynamic, DateTime>(
elements: messageList,
groupBy: (element) => DateFormat.yMMMMd().parse(element['time']),
groupSeparatorBuilder: (DateTime groupByvalue) {
return Container(child: Text(DateFormat.yMMMMd().format(groupByvalue)));
},
itemBuilder: (context, element) {
return Container(
child: Text(element['message']),
);
},
);
{ 'time': '2022-05-16 21:39:39.333741', 'message': "hello", 'messagetype': Messagetype.receiver },
以上是我使用的示例'time'。
你的日期格式有误,
尝试将您的日期转换为新格式
示例:
dateFormate = DateFormat("yyyy-MM-dd' 'HH:mm:ss.SSSSSS'Z").format(DateTime.parse("2022-05-16 21:39:39.333741"));
return GroupedListView<dynamic, DateTime>(
elements: messageList,
groupBy: (element) => DateFormat.yMMMMd().parse(DateTime.parse(element['time'])),
groupSeparatorBuilder: (DateTime groupByvalue) {
return Container(child: Text(DateFormat.yMMMMd().format(groupByvalue)));
},
itemBuilder: (context, element) {
return Container(
child: Text(element['message']),
);
},
);**
你需要先解析,然后格式化类型17 May 2022
像这样:
final dateTime = DateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS'Z").parse('2022-05-16 21:39:39.333741');
final dateTimeString = DateFormat.yMMMMd().format(dateTime);