ExtendedDuration.fromDuration constructor

ExtendedDuration.fromDuration(
  1. Duration duration
)

Implementation

factory ExtendedDuration.fromDuration(Duration duration) {
  int microseconds = duration.inMicroseconds;
  int milliseconds = microseconds ~/ 1000;
  microseconds %= 1000;

  int seconds = milliseconds ~/ 1000;
  milliseconds %= 1000;

  int minutes = seconds ~/ 60;
  seconds %= 60;

  final int hours = minutes ~/ 60;
  minutes %= 60;

  final int totalDays = duration.inDays;
  final int years = totalDays ~/ 365;
  final int remainingDays = totalDays % 365;

  return ExtendedDuration(
    years: years,
    days: remainingDays,
    hours: hours,
    minutes: minutes,
    seconds: seconds,
    milliseconds: milliseconds,
    microseconds: microseconds,
  );
}