获取当前星期的数字形式

Jon*_*nas 3 dart flutter

如何在 Dart 中以数字形式获取该月的当前周?我需要创建某种带有周视图的日历,上面写着“1 月第 2 周”

Vir*_*rma 5

我的答案受到@dblank 答案的影响

extension DateTimeExtension on DateTime {
  int get weekOfMonth {
    var date = this;
    final firstDayOfTheMonth = DateTime(date.year, date.month, 1);
    int sum = firstDayOfTheMonth.weekday - 1 + date.day;
    if (sum % 7 == 0) {
      return sum ~/ 7;
    } else {
      return sum ~/ 7 + 1;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

然后像这样使用它:

var wom = DateTime.now().weekOfMonth;
Run Code Online (Sandbox Code Playgroud)