Dart API Referencedart:coreimplDurationImplementation

DurationImplementation Class

Implements

Duration

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 hashCode() #

int hashCode() {
  return inMilliseconds.hashCode();
}

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}";
}

Fields

Code final int inMilliseconds #

final int inMilliseconds;