/* * This file is part of wger Workout Manager . * Copyright (C) wger Team * * wger Workout Manager is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * wger Workout Manager is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ /// Returns a timezone aware DateTime object from a date and time string. DateTime getDateTimeFromDateAndTime(String date, String time) { return DateTime.parse('$date $time'); } /// Returns a list of [DateTime] objects from [first] to [last], inclusive. List daysInRange(DateTime first, DateTime last) { final dayCount = last.difference(first).inDays + 1; return List.generate( dayCount, (index) => DateTime.utc(first.year, first.month, first.day + index), ); } extension DateTimeExtension on DateTime { bool isSameDayAs(DateTime other) { final thisDay = DateTime(year, month, day); final otherDay = DateTime(other.year, other.month, other.day); return thisDay.isAtSameMomentAs(otherDay); } }