prettyMilliseconds function
String
prettyMilliseconds(
- Duration duration, {
- bool terse = false,
- DurationLocale language = const EnglishDurationLocale(),
- String separator = ' ',
- bool abbreviated = false,
Pretty format duration
in terms of milliseconds.
If terse
is true, microseconds are ignored.
Use language
to configure which locale to print for.
Use abbreviated
to control if the units should be abbreviated.
Implementation
String prettyMilliseconds(Duration duration,
{bool terse = false,
DurationLocale language = const EnglishDurationLocale(),
String separator = ' ',
bool abbreviated = false}) {
if (duration.inMilliseconds > 0) {
final int us = duration.inMicroseconds % 1000;
if (us == 0 || terse) {
// If no microseconds are present, print "xxxxx ms"
final sb = StringBuffer();
sb.write(duration.inMilliseconds);
sb.write(separator);
sb.write(language.millisecond(duration.inMilliseconds, abbreviated));
return sb.toString();
} else {
// If microseconds are present, print "xxx.yy ms"
final sb = StringBuffer();
sb.write(duration.inMilliseconds);
sb.write('.');
sb.write(_digits(us, 3));
sb.write(separator);
sb.write(language.millisecond(duration.inMilliseconds, abbreviated));
return sb.toString();
}
} else {
// If only microseconds are present, print "yyy us"
final sb = StringBuffer();
sb.write(duration.inMicroseconds);
sb.write(separator);
sb.write(language.microseconds(duration.inMicroseconds, abbreviated));
return sb.toString();
}
}