title: How can I get moment.js to output a formatted time in UTC time with milliseconds?
body: <pre><code>var end, moment, timeFormat;
  moment = require('moment');
  end = moment.utc('2016-11-29T23:59:59.999');
  console.dir(end.format());
  timeFormat = 'YYYY-MM-DDThh:mm:ss.SSS';
  console.dir(end.format(timeFormat));
  </code></pre>
  
  <p>Output: </p>
  
  <pre><code>'2016-11-29T23:59:59Z'
  '2016-11-29T11:59:59.999'
  </code></pre>
  
  <p>What I really need: </p>
  
  <pre><code>'2016-11-29T23:59:59.999'
  </code></pre>
  
  <p><strong>Why is there a 12 hour difference between those 2 outputs?</strong> I could just add 12 hours to it, but that is hacky. I don't understand why moment is suddenly subtracting 12 hours from my date as soon as I give it a format. Seems unlikely this is a bug; more likely me misunderstanding what Moment is doing. </p>
  
  <p>My timezone is GMT+8.</p>