I wrote a package that already supports this:
https://pub.dev/packages/flutter_chronos
var chronos = Chronos.parse('2025-09-13 10:07:03');
print(chronos.ceilMinutes(5)); // 2025-09-13 10:10:00.000
print(chronos.floorMinutes(5)); // 2025-09-13 10:05:00.000
print(chronos.ceilMinutes(2)); // 2025-09-13 10:08:00.000
print(chronos.floorMinutes(2)); // 2025-09-13 10:06:00.000
This package also provides many other date & time utilities