Instant.fromEpochMicroseconds constructor

Instant.fromEpochMicroseconds(
  1. int microseconds
)

Implementation

factory Instant.fromEpochMicroseconds(int microseconds) {
  var milliseconds = 0;

  // todo: this is copied from Time constructor, can probably combine code paths
  // note: this is here to deal with extreme values
  if (microseconds.abs() > Platform.maxMicrosecondsToNanoseconds) {
    milliseconds = microseconds ~/ TimeConstants.microsecondsPerMillisecond;
    microseconds -= milliseconds * TimeConstants.microsecondsPerMillisecond;
  }

  var nanoseconds = microseconds * TimeConstants.nanosecondsPerMicrosecond;
  return Instant.epochTime(ITime.untrusted(milliseconds, nanoseconds));
}