title: Moment.js issues with .format() using Zulu time
body: <p>I am working on a script that needs to retrieve and store a timestamp from a database. The timestamp from the database is retrieved as a UTC Zulu formatted string "YYYY-MM-DDTHH:MM:SS.SSSZ". I want to store this timestamp in the format "YYYY-MM-DDTHH:MM:SS.SSS" in local time. I am currently attempting to do this with moment.js, I have had little success with ".toISOString()" and other methods.</p>
  
  <p>However, I have noticed that the output from "moment(timestamp).format()" does not return the string I am expecting from what I understand so far about UTC. Here is a code example that replicates my issue:</p>
  
  <pre><code>var moment = require('moment');
  
  var timestamp = new Date('2018-05-30T15:01:01.111Z');
  
  console.log(timestamp);
  console.log(moment(timestamp).format('YYYY-MM-DDTHH:mm:ss.sss'));
  console.log(moment(timestamp).format('YYYY-MM-DDTHH:MM:SS.SSS'));
  </code></pre>
  
  <p>This is my output:</p>
  
  <pre><code>2018-05-30T15:01:01.111Z
  2018-05-30T16:01:01.011
  2018-05-30T16:05:11.111
  </code></pre>
  
  <p>This is my expected out:</p>
  
  <pre><code>2018-05-30T15:01:01.111Z
  2018-05-30T16:01:01.111
  2018-05-30T16:01:01.111
  </code></pre>
  
  <p>Why does the change in case from 'YYYY-MM-DDTHH:mm:ss.sss' to 'YYYY-MM-DDTHH:MM:SS.SSS' in .format() cause a different output? Is my expected output correct or have a misunderstood moment.(timestamp).format()? Lastly, is there a better way to achieve my expected output given the circumstances?</p>