code: function time(v, lc, p) {
    var o = { second: 'numeric', minute: 'numeric', hour: 'numeric' };
    switch (p) {
      case 'full':
      case 'long':
        o.timeZoneName = 'short';
        break;
      case 'short':
        delete o.second;
    }
    return new Date(v).toLocaleTimeString(lc, o);
  }
docs: Represent a time as a short/default/long string
  
  The input value needs to be in a form that the
  {@link https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date Date object}
  can process using its single-argument form, `new Date(value)`.
  
  @memberof Formatters
  @param {number|string} value - Either a Unix epoch time in milliseconds, or a string value representing a date
  @param {string} [type='default'] - One of `'short'`, `'default'`, `'long'` , or `full`
  
  @example
  var mf = new MessageFormat(['en', 'fi']);
  
  mf.compile('The time is now {T, time}')({ T: Date.now() })
  // 'The time is now 11:26:35 PM'
  
  mf.compile('Kello on nyt {T, time}', 'fi')({ T: Date.now() })
  // 'Kello on nyt 23.26.35'
  
  var cf = mf.compile('The Eagle landed at {T, time, full} on {T, date, full}');
  cf({ T: '1969-07-20 20:17:40 UTC' })
  // 'The Eagle landed at 10:17:40 PM GMT+2 on Sunday, July 20, 1969'