weekNumber property

int weekNumber

Gets the ISO 8601 week number from DateTime.

For December 23, 2022, 51 is returned.

DateTimeからISO 8601に則った週番号を取得します。

2022年12月23日だと51が返されます。

See below for details.

詳しくは下記を参照ください。

https://en.wikipedia.org/wiki/ISO_8601

Implementation

int get weekNumber {
  final thursday = DateTime.fromMillisecondsSinceEpoch(
    ((millisecondsSinceEpoch - 259200000) / 604800000).ceil() * 604800000,
  );
  final firstDayOfYear = DateTime(thursday.year, 1, 1);
  return ((thursday.millisecondsSinceEpoch -
                  firstDayOfYear.millisecondsSinceEpoch) /
              604800000)
          .floor() +
      1;
}