如何创建30分钟的时隙.我从后台获取开始日期和结束日期


List<WorkingHourModel> workingHours = response['hours'];
int startTime = int.parse(workingHours[0].startTime.split(':')[0]);
int endTime = int.parse(workingHours[0].endTime.split(':')[0]);
int hoursLeft = endTime - startTime + 1;
List<String> hours =
List.generate(hoursLeft, (i) => '${(endTime - i)}:00').reversed
.toList();

print('Hours-------- $hours');
return {
'success': true,
'hours': hours,
};
}

//这将给出"1:00"、"2:00"、"3:00"、"4:00"的时隙//开始时间为1:00,结束时间为4:00。

标题

但我需要30分钟的休息时间,下午1:00、1:30、2:00、2:30、3:00、3:30、4:00

请帮忙。。

这应该会生成您想要的列表:

void main(List<String> args) {
// lets assume 9 to 5
int startTime = 9;
int endTime = 17;
int hoursLeft = endTime - startTime + 1;
final hours = List.generate(hoursLeft * 2, (i) => '${endTime - (i/2).truncate()}:${i%2 == 1 ? '00' : '30'}').reversed.toList();

print('Hours-------- $hours');
}

小时--------[9:00,9:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30]

一般来说,如果你有更复杂的计算(如果有人在夜班18:00到05:00工作会发生什么?(,你可能希望使用正确的数据类型,而不是整数和字符串串联。

最新更新