Tony Hart
Tony Hart

Reputation: 164

Flutter Filter List base on Month

How I can categorise list based on Month

let say I have example list like below :

Record(
    id: '01',
    nameFood: 'ravioli',
    date : 2021/may/14,
    price: 20
    
  ),
Record(
    id: '02',
    nameFood: 'cheese garlic',
    date : 2021/june/02,
    price: 30,
  ),
Record(
    id: '03',
    nameFood: 'steak',
    date : 2021/march/21
    price 25,
  ),

I want to Categorize it to like this

 June(
    nameFood: steak,
    total price: 240,
   ),

and etc

the problem is I dnt know how to filter each List(month) because each month have different length of days like 30,31 and 28

Upvotes: 0

Views: 871

Answers (1)

Tim Jacobs
Tim Jacobs

Reputation: 1193

If you store your dates as a DateTime, you can try using the month number. I'm going on a limb here, assuming you have a List of objects of type Record, where Record is.

class Record {
  Record(
    this.id,
    this.price,
    this.date,
    this.nameFood,
  );

  final String id;
  final double price;
  final DateTime date;
  final String nameFood;
}

You can loop through your list and do whatever it is you want to do with it, like so.

for (final record in _listOfRecords) {
  final _monthOfRecord = record.date.month; // Gives the month number. January = 1, April = 4, etc.
  // Do other stuff, based on the current monthNumber
  switch (_monthOfRecord) {
    case 1:
      // Do something
      break;
    ....
    default:
      break;
  }
}

Upvotes: 1

Related Questions