title: Converting date/time to user's timezone doesn't work for non-US timezone
body: <p>I have a function for converting a date from server timezone to client/user timezone. It's based on <a href="https://stackoverflow.com/questions/1837183/displaying-date-time-in-users-timezone-on-client-side">Displaying date/time in user&#39;s timezone - on client side</a>:</p>
  
  <pre><code>function getLocalDate(sourceDate){
  
      if(sourceDate === '' || sourceDate === null){
          return "";
      }
  
      var d = new Date(sourceDate);
  
      var  hours    = d.getHours(),
          min       = d.getMinutes() + '',
          pm        = false,
          months    = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
  
      if(hours &gt; 11){
          hours = hours - 12;
          pm = true;
      }
  
      if(hours == 0) hours = 12;
      if(min.length == 1) min = '0' + min;
  
      dStr = months[d.getMonth()] + ' ' + d.getDate() + ' '  + d.getFullYear() + ', ' + hours + ':' + min + ' ' + (pm ? 'PM' : 'AM');
  
      return dStr;
  }
  </code></pre>
  
  <p>The function gets a date/time with timezone (set from server) and outputs same date/time but in browser timezone.</p>
  
  <p>The conversion works perfectly for US timezones (EST, CST, etc). For other timezones - e.g. CEST (Germany), EAT (Kenya), IST (India) - I am getting mixed results. Sometimes I get <code>undefined NaN NaN, NaN:NaN AM</code>. Othertimes I get a proper date/time but far off from true i.e. conversion gives a time that's ahead or behind.</p>
  
  <p>Can browser date/time conversion work for non-US timezones?</p>
  
  <p>Thanks.</p>