numOfWeeks method

  1. @useResult
int numOfWeeks(
  1. int targetYear
)

Returns the number of ISO weeks in the specified year.

Implementation

@useResult
int numOfWeeks(int targetYear) {
  final DateTime dec28 = DateTime(
    targetYear,
    DateTime.december,
    DateConstants.isoWeekReferenceDay,
  );
  final DateTime jan1 = DateTime(targetYear);
  final int dayOfDec28 = dec28.difference(jan1).inDays + 1;

  return ((dayOfDec28 - dec28.weekday + DateConstants.isoWeekOffset) / DateConstants.daysPerWeek)
      .floor();
}