I have Model and Dummy Data To testing like this :
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,
),
];
I want Month in my listTest convert to Month Name Something Like January,Feburary,March,April,Mei,etc.... How can i do this ?
I know i can use this Intl Packages like this
DateFormat.MMMM().format(???); But format required DateTime and in my list Month is integer.
Thank's
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'),
],
),
),
);
},
),
),

Is this you want ?
replace month with you month int value
DateFormat('MMMM').format(DateTime(0, month))
Value: January,Feburary ...
DateFormat.MMMM().format(date)
Simple and allows future localization. You can put your locale inside of .MMMM(). This is the best and most scalable solution.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With