parseDuration function
Parses a string representation of a duration in the format "HH:mm" to a Duration object.
Returns Duration.zero if the input string is null, does not contain a colon, or if the minute part does not have exactly two digits.
-
Parameters:
- s: A string representing the duration in "HH:mm" format.
-
Returns: A Duration object representing the parsed duration, or Duration.zero if the input is invalid.
Implementation
Duration parseDuration(String? s) {
if (s == null) return Duration.zero;
if (s.contains(':') == false) return Duration.zero;
List<String> parts = s.split(':');
if (parts[1].length != 2) return Duration.zero;
int hours = 0;
int minutes = 0;
hours = int.parse(parts[0]);
minutes = int.parse(parts[1]);
return Duration(hours: hours, minutes: minutes);
}