/// 获取指定日期所在月份的第一天(返回"yyyy-MM-dd"格式) /// [date] 可选参数,默认使用当前日期 String getFirstDayOfMonth([DateTime? date]) { final currentDate = date ?? DateTime.now(); final firstDay = DateTime(currentDate.year, currentDate.month, 1); return "${firstDay.year}-${_twoDigits(firstDay.month)}-${_twoDigits(firstDay.day)}"; } /// 获取指定日期所在月份的最后一天(返回"yyyy-MM-dd"格式) /// [date] 可选参数,默认使用当前日期 String getLastDayOfMonth([DateTime? date]) { final currentDate = date ?? DateTime.now(); // 下个月第一天减一天即为当月最后一天 final lastDay = DateTime(currentDate.year, currentDate.month + 1, 0); return "${lastDay.year}-${_twoDigits(lastDay.month)}-${_twoDigits(lastDay.day)}"; } /// 辅助函数:确保数字为两位数(如1→"01") String _twoDigits(int n) { return n.toString().padLeft(2, '0'); }