wip countdown timer

This commit is contained in:
2024-03-26 22:57:05 +01:00
parent 26380dc55b
commit 4bf05fb655
11 changed files with 125 additions and 88 deletions

View File

@ -0,0 +1,28 @@
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);
}
}