【发布时间】:2020-07-07 22:51:21
【问题描述】:
我有模型和虚拟数据要这样测试:
型号
class TestingLoopingModel {
String id;
int month;
int year;
int value;
TestingLoopingModel({
this.id,
this.month,
this.year,
this.value,
});
}
虚拟数据
List<TestingLoopingModel> listTest = [
//TODO Month 12 And 10 is not exist
TestingLoopingModel(
id: DateTime.now().toString(),
month: 2,
year: 2020,
value: 2000,
),
TestingLoopingModel(
id: DateTime.now().toString(),
month: 4,
year: 2020,
value: 1500,
),
TestingLoopingModel(
id: DateTime.now().toString(),
month: 6,
year: 2020,
value: 3000,
),
TestingLoopingModel(
id: DateTime.now().toString(),
month: 8,
year: 2020,
value: 3500,
),
TestingLoopingModel(
id: DateTime.now().toString(),
month: 1,
year: 2020,
value: 5000,
),
TestingLoopingModel(
id: DateTime.now().toString(),
month: 3,
year: 2020,
value: 4500,
),
TestingLoopingModel(
id: DateTime.now().toString(),
month: 5,
year: 2020,
value: 2111,
),
TestingLoopingModel(
id: DateTime.now().toString(),
month: 7,
year: 2020,
value: 5555,
),
TestingLoopingModel(
id: DateTime.now().toString(),
month: 9,
year: 2020,
value: 333,
),
TestingLoopingModel(
id: DateTime.now().toString(),
month: 11,
year: 2020,
value: 2222,
),
];
我希望我的 listTest 中的 月份 转换为月份名称,例如 January,Feburary,March,April,Mei,etc...。我怎样才能做到这一点 ?
我知道我可以像这样使用Intl Packages
DateFormat.MMMM().format(???); 但格式需要 DateTime 并且在我的列表中 Month 是整数。
谢谢
查看
SizedBox(
height: sizes.height(context) / 1.7,
child: ListView.separated(
separatorBuilder: (ctx, index) => Divider(),
itemCount: 12,
shrinkWrap: true,
itemBuilder: (BuildContext context, int index) {
final indexOrder = index + 1;
final result = listTest[index];
listTest.sort((a, b) => a.month.compareTo(b.month));
return InkWell(
onTap: () => showDialog(
context: context,
builder: (ctxDialog) => FormElectricTenant(),
),
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 8.0),
child: Row(
children: <Widget>[
titleHeaderRow(title: '$indexOrder' ?? '0'),
titleHeaderRow(title: '${result.month}' ?? '0'),
titleHeaderRow(title: '${result.value}' ?? '0'),
],
),
),
);
},
),
),
【问题讨论】:
-
您是否尝试创建一个新的
DateTime对象并更改其月份?