如何在flutter中获取当月的所有日期和工作日

How to get all dates and weekdays in current month in flutter

我想获取当前月份的所有日期和工作日,如下图所示

我使用以下代码获取所有日期

DateTime now = DateTime.now();
late DateTime lastDayOfMonth;
lastDayOfMonth = DateTime(now.year, now.month + 1, 0);

  Row(
    children: List.generate(
       lastDayOfMonth.day,
        (index) => Padding(
          padding: const EdgeInsets.only(right: 24.0),
          child: Text(
            "${index + 1}",
          ),
        ),
      ),

但我没有根据日期得到工作日

lastDayOfMonth 是一个日期,因此使用 lastDayOfMonth.weekDay 给出基于 lastDayOfMonth 的一天。我们可以在 lastDayOfMonth 上添加持续时间并找到日期名称。

 final currentDate =
           lastDayOfMonth.add(Duration(days: index + 1));

这将提供基于 index 的更新日期。我正在使用 intl 包或创建地图来获取日期名称。

有关日期格式的有用

 Row(
  children: List.generate(
    lastDayOfMonth.day,
    (index) => Padding(
      padding: const EdgeInsets.only(right: 24.0),
      child: Column(
        mainAxisSize: MainAxisSize.min,
        children: [
          Text(
            "${index + 1}",
          ),
          () {
            final currentDate =
                lastDayOfMonth.add(Duration(days: index + 1));

            final dateName =
                DateFormat('E').format(currentDate);
            return Text(dateName);
          }()
        ],
      ),
    ),
  ),
),