floorTo method
Floors the DateTime to the nearest interval of the given duration.
Implementation
DateTime floorTo(Duration duration) {
if (duration == Duration.zero) return this;
final micros = microsecondsSinceEpoch;
final newMicros =
(micros ~/ duration.inMicroseconds) * duration.inMicroseconds;
return DateTime.fromMicrosecondsSinceEpoch(newMicros, isUtc: isUtc);
}