This repository has been archived on 2024-04-18. You can view files and clone it, but cannot push or open issues or pull requests.
app/lib/extensions/dateOfTimeExtensions.dart

28 lines
951 B
Dart

import 'package:flutter/material.dart';
extension TimeExtensions on DateTime {
DateTime forwardTo(TimeOfDay timeOfDay) {
final now = DateTime.now();
final today = DateTime(now.year, now.month, now.day);
DateTime result;
final targetTime = DateTime(now.year, now.month, now.day, timeOfDay.hour, timeOfDay.minute);
if (targetTime.isBefore(now) || targetTime.isAtSameMomentAs(now)) {
result = today.add(Duration(days: 1));
} else {
result = today;
}
return result.add(Duration(hours: timeOfDay.hour, minutes: timeOfDay.minute));
}
bool isBetweenTimeOfDay(TimeOfDay start, TimeOfDay end) {
final now = this;
final today = DateTime(now.year, now.month, now.day);
final startTime = today.add(Duration(hours: start.hour, minutes: start.minute));
final endTime = today.add(Duration(hours: end.hour, minutes: end.minute));
return now.isAfter(startTime) && now.isBefore(endTime);
}
}