toString method

  1. @override
String toString({
  1. bool withSeconds = true,
  2. bool? withMillisecond,
  3. bool? withMicrosecond,
})
override

A string representation of this object.

Some classes have a default textual representation, often paired with a static parse function (like int.parse). These classes will provide the textual representation as their string representation.

Other classes have no meaningful textual representation that a program will care about. Such classes will typically override toString to provide useful information when inspecting the object, mainly for debugging or logging.

Implementation

@override
String toString(
    {bool withSeconds = true, bool? withMillisecond, bool? withMicrosecond}) {
  var h = _intToPaddedString(hour);
  var m = _intToPaddedString(minute);
  var s = _intToPaddedString(second);

  withMillisecond ??= millisecond != 0;
  if (withMillisecond) {
    var ms = _intToPaddedString(millisecond, 3);

    withMicrosecond ??= microsecond != 0;
    if (withMicrosecond) {
      var mic = _intToPaddedString(microsecond, 3);
      return '$h:$m:$s.$ms$mic';
    } else {
      return '$h:$m:$s.$ms';
    }
  } else if (!withSeconds) {
    return '$h:$m';
  } else {
    return '$h:$m:$s';
  }
}