specialFestivals property

List<String> specialFestivals

Implementation

List<String> get specialFestivals {
  List<String> festivals = List.generate(3, (index) => '');
  DateTime dateTime = new DateTime(year, 5, 1);
  //母亲节
  int week = (dateTime.weekday + 1) % 8;
  int startDiff = 7 - week + 1;
  if (startDiff == 7) {
    festivals[0] =
        _dateToString(year, 5, startDiff + 1) + SPECIAL_FESTIVAL_STR[0];
  } else {
    festivals[0] =
        _dateToString(year, 5, startDiff + 7 + 1) + SPECIAL_FESTIVAL_STR[0];
  }

  //父亲节
  dateTime = new DateTime(year, 6, 1);

  week = (dateTime.weekday + 1) % 8;
  startDiff = 7 - week + 1;
  if (startDiff == 7) {
    festivals[1] =
        _dateToString(year, 6, startDiff + 7 + 1) + SPECIAL_FESTIVAL_STR[1];
  } else {
    festivals[1] = _dateToString(year, 6, startDiff + 7 + 7 + 1) +
        SPECIAL_FESTIVAL_STR[1];
  }

  //感恩节
  dateTime = new DateTime(year, 11, 1);
  week = (dateTime.weekday + 1) % 8;

  startDiff = 7 - week + 1;
  if (startDiff <= 2) {
    festivals[2] =
        _dateToString(year, 11, startDiff + 21 + 5) + SPECIAL_FESTIVAL_STR[2];
  } else {
    festivals[2] =
        _dateToString(year, 11, startDiff + 14 + 5) + SPECIAL_FESTIVAL_STR[2];
  }
  return festivals;
}