title: Moment JS initialisation and the utc() method
body: <p>I would like to understand Moment JS' initialisation of its moment object.</p>
  
  <p>For example, if I would like to create a moment for the date and time:
  April 1 2000, 3:25:00 am with utc offset of +8 hours from UTC/GMT.  </p>
  
  <p>I represent this in a javascript object:</p>
  
  <pre><code>var obj = {
      year: 2000,
    month: 4, //APRIL
    day: 1,
    hour: 3,
    minute: 25,
    second: 0,
    utcOffset: 8  //8 hours from UTC
  }
  </code></pre>
  
  <p>I then create a handy function I can use to create a moment with moment js:</p>
  
  <pre><code>var makemoment = function(obj){
  
    var m = moment([obj.year, obj.month - 1, obj.day, obj.hour, obj.minute, obj.second, 0]).utcOffset(obj.utcOffset);
  
    return m;
  }
  </code></pre>
  
  <p>When I use this function to create moment...
  e.g.</p>
  
  <pre><code>  var result =  moment(obj);
  </code></pre>
  
  <p>If I inspect the result object above I can see that it has a property <code>_d</code>
  that I expect to have a value such as:</p>
  
  <pre><code>_d  Date {Sat Apr 01 2000 03:25:00 GMT+0800 (HKT)}
  </code></pre>
  
  <p>But the actual value is which for me does not make sense since I specified that the time is 3:25:00 and it is already at GMT +0800 so no need to add 8 hours to the time....</p>
  
  <pre><code>_d  Date {Sat Apr 01 2000 11:25:00 GMT+0800 (HKT)}
  </code></pre>
  
  <p>Despite of this _d value though, if I <code>console.log(result)</code>
  I get the correct expected date:</p>
  
  <pre><code>2000-04-01T03:25:00+08:00
  </code></pre>
  
  <p>If I call the utc method on the moment. e.g. <code>result.utc()</code>
  and if I inspect the object again, I can see that now the <code>_d</code> has changed to my originally expected value:</p>
  
  <pre><code>_d  Date {Sat Apr 01 2000 03:25:00 GMT+0800 (HKT)}
  </code></pre>
  
  <p>However, now if I do <code>result.format()</code>
  I get the correct UTC date and time:</p>
  
  <pre><code>2000-03-31T19:25:00+00:00
  </code></pre>
  
  <p>Am I not understanding something here????
  How is the _d value used in Moment.js???
  Should I ignore the _d value since it is just something internal to Moment.js???</p>
  
  <p>I've created JSFiddle for to illustrate my point...</p>
  
  <p><a href="http://jsfiddle.net/nx2ch4ot/2/" rel="nofollow">http://jsfiddle.net/nx2ch4ot/2/</a></p>