Time constructor
Time({})
Implementation
factory Time({num days = 0, num hours = 0, num minutes = 0, num seconds = 0,
num milliseconds = 0, num microseconds = 0, num nanoseconds = 0}) {
var _hours = days * TimeConstants.hoursPerDay;
var _minutes = (_hours + hours) * TimeConstants.minutesPerHour;
var _seconds = (_minutes + minutes) * TimeConstants.secondsPerMinute;
var _milliseconds = (_seconds + seconds) * TimeConstants.millisecondsPerSecond + milliseconds;
var _microseconds = (_milliseconds - _milliseconds.toInt()) * TimeConstants.microsecondsPerMillisecond;
// note: this is here to deal with extreme values
if (microseconds.abs() > Platform.maxMicrosecondsToNanoseconds) {
var millisecondsToAdd = microseconds ~/ TimeConstants.microsecondsPerMillisecond;
_milliseconds += millisecondsToAdd;
microseconds -= millisecondsToAdd * TimeConstants.microsecondsPerMillisecond;
}
var _nanoseconds = (_microseconds + microseconds) * TimeConstants.nanosecondsPerMicrosecond + nanoseconds;
return Time._untrusted(_milliseconds.toInt(), _nanoseconds.toInt());
}