code: function() {
        var copy = [
          'year',
          'month',
          'day',
          'hour',
          'minute',
          'second',
          'isDate'
        ];
  
        var result = Object.create(null);
  
        var i = 0;
        var len = copy.length;
        var prop;
  
        for (; i < len; i++) {
          prop = copy[i];
          result[prop] = this[prop];
        }
  
        if (this.zone) {
          result.timezone = this.zone.tzid;
        }
  
        return result;
      }
docs: Converts time to into Object which can be serialized then re-created
  using the constructor.
  
  @example
  // toJSON will automatically be called
  var json = JSON.stringify(mytime);
  
  var deserialized = JSON.parse(json);
  
  var time = new ICAL.Time(deserialized);
  
  @return {Object}