Duration 构造函数

const Duration(
  1. {int days = 0,
  2. int hours = 0,
  3. int minutes = 0,
  4. int seconds = 0,
  5. int milliseconds = 0,
  6. int microseconds = 0}
)

创建一个新的 Duration 对象,其值是所有单独部分的累加。

单独的部分可以大于下一个更大单位中这类部分的数量。例如,hours 可以大于 23。如果发生这种情况,该值会溢出到下一个更大单位,因此 26 hours 与 2 hours 相同,还多一天 days。同样,值可以是负数,在这种情况下,它们会下溢并从下一个更大单位中减去。

如果总微秒数无法表示为整数值,微秒数可能溢出并截断为更少的位数,或者可能会丢失精度。

所有参数默认为 0。

const duration = Duration(days: 1, hours: 8, minutes: 56, seconds: 59,
  milliseconds: 30, microseconds: 10);
print(duration); // 32:56:59.030010

实现

const Duration(
    {int days = 0,
    int hours = 0,
    int minutes = 0,
    int seconds = 0,
    int milliseconds = 0,
    int microseconds = 0})
    : this._microseconds(microseconds +
          microsecondsPerMillisecond * milliseconds +
          microsecondsPerSecond * seconds +
          microsecondsPerMinute * minutes +
          microsecondsPerHour * hours +
          microsecondsPerDay * days);