Why is the fetch request time and request time displayed in the Chrome Network Timing tab different?

I am trying to understand why the total fetch request time logged by my application is different than the time displayed in the Chrome Dev Tools “Network > Timing” tab.

Consider this example that logs the difference between the fetch start time & the time of the fetch response:

const startTime = new Date();
fetch('https://somedomain.com/api/route')
  .then(res => {
    const completeTime = new Date().getTime();
    console.log(completeTime - startTime)
  })

Now, when I check Chrome’s “Network” tab, click on the request in the list and then click on the “Timing” tab- I am presented with a breakdown of the different phases of the request with the total time listed at the bottom. This time is always less than the time logged from example above. Normally the difference is 1-10ms but I have observed differences as high as a several hundred milliseconds.

What factors influence this difference?