Duration 构造函数
创建一个新的 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);