您好,我需要比较 2 个日期,例如开始日期和结束日期,如果我选择一个星期三,我需要这些日期之间发生的所有星期三

hello i need to compare 2 dates like start date and end date and if i select a wednesday i need all wednesdays occuring between these dates

提问人:zamanway 提问时间:2/2/2023 更新时间:2/2/2023 访问量:28

问:

我有一个场景,用户选择开始日期和结束日期,用户还选择我需要显示该特定日期的特定日期以及它们之间发生的日期。

我尝试了 Intl 包差异方法,但没有奏效

Flutter 飞镖 日期 比较

评论

0赞 Luis Utrera 2/2/2023
请提供一个示例说明它应该如何工作,以便我们更好地了解您的要求
0赞 Community 2/3/2023
请提供足够的代码,以便其他人可以更好地理解或重现问题。

答:

0赞 Kdon 2/2/2023 #1

您可以使用此方法。采用开始和结束日期以及工作日。请注意,可以传入 3 作为 int 或 'DateTime.wednesday' 作为参数。

请注意,基于此线程中 mirkancal 的答案的想法


List<DateTime> getAllDatesOfAWeekday(
    {required DateTime startDate,
    required DateTime endDate,
    required int weekday}) {
  List<DateTime> allDates = [];

  for (int i = 0; i <= endDate.difference(startDate).inDays; i++) {
    if (startDate.add(Duration(days: i)).weekday == weekday) {
      allDates.add(startDate.add(Duration(days: i)));
    }
  }
  return allDates;
}