Duration 构造函数
创建一个新的 Duration 对象,其值是所有单独部分的和。
单独的部分可以大于下一个更大单位中的这些部分的数量。例如,hours
可以大于 23。如果发生这种情况,值会溢出到下一个更大单位,因此 26 个 hours
等同于 2 个 hours
和一天。同样,值也可以是负数,在这种情况下,它们会下溢并从下一个更大单位中减去。
如果无法将总的微秒数表示为整数值,微秒数可能会溢出并截断为更小的位数,或者可能会丢失精度。
所有参数默认为 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);