DurationImplementation Class
Implements
Constructors
Code const DurationImplementation([int days = 0, int hours = 0, int minutes = 0, int seconds = 0, int milliseconds = 0]) #
const DurationImplementation([int days = 0, int hours = 0, int minutes = 0, int seconds = 0, int milliseconds = 0]) : inMilliseconds = days * Duration.MILLISECONDS_PER_DAY + hours * Duration.MILLISECONDS_PER_HOUR + minutes * Duration.MILLISECONDS_PER_MINUTE + seconds * Duration.MILLISECONDS_PER_SECOND + milliseconds;
Methods
Code int compareTo(Duration other) #
int compareTo(Duration other) { return inMilliseconds.compareTo(other.inMilliseconds); }
Code int get inDays() #
int get inDays() { return inMilliseconds ~/ Duration.MILLISECONDS_PER_DAY; }
Code int get inHours() #
int get inHours() { return inMilliseconds ~/ Duration.MILLISECONDS_PER_HOUR; }
Code int get inMinutes() #
int get inMinutes() { return inMilliseconds ~/ Duration.MILLISECONDS_PER_MINUTE; }
Code int get inSeconds() #
int get inSeconds() { return inMilliseconds ~/ Duration.MILLISECONDS_PER_SECOND; }
Code bool operator ==(other) #
bool operator ==(other) { if (other is !Duration) return false; return inMilliseconds == other.inMilliseconds; }
Code String toString() #
String toString() { String threeDigits(int n) { if (n >= 100) return "${n}"; if (n > 10) return "0${n}"; return "00${n}"; } String twoDigits(int n) { if (n >= 10) return "${n}"; return "0${n}"; } if (inMilliseconds < 0) { Duration duration = new DurationImplementation(milliseconds: -inMilliseconds); return "-${duration}"; } String twoDigitMinutes = twoDigits(inMinutes.remainder(Duration.MINUTES_PER_HOUR)); String twoDigitSeconds = twoDigits(inSeconds.remainder(Duration.SECONDS_PER_MINUTE)); String threeDigitMs = threeDigits(inMilliseconds.remainder(Duration.MILLISECONDS_PER_SECOND)); return "${inHours}:${twoDigitMinutes}:${twoDigitSeconds}.${threeDigitMs}"; }